home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / utils / skeleton.elc.z / skeleton.elc
Emacs Compiled Lisp  |  1998-05-21  |  15.7 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v20 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 35 36 3a 31 30 20 31 | 39 39 38 0a 3b 3b 3b 20 |:56:10 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 75 74 69 6c |s-20.3/l|isp/util|
|000000a0| 73 2f 73 6b 65 6c 65 74 | 6f 6e 2e 65 6c 0a 3b 3b |s/skelet|on.el.;;|
|000000b0| 3b 20 65 6d 61 63 73 20 | 76 65 72 73 69 6f 6e 20 |; emacs |version |
|000000c0| 32 30 2e 34 20 22 45 6d | 65 72 61 6c 64 22 20 58 |20.4 "Em|erald" X|
|000000d0| 45 6d 61 63 73 20 20 4c | 75 63 69 64 2e 0a 3b 3b |Emacs L|ucid..;;|
|000000e0| 3b 20 62 79 74 65 63 6f | 6d 70 20 76 65 72 73 69 |; byteco|mp versi|
|000000f0| 6f 6e 20 32 2e 32 35 20 | 58 45 6d 61 63 73 3b 20 |on 2.25 |XEmacs; |
|00000100| 32 32 2d 4d 61 72 2d 39 | 36 2e 0a 3b 3b 3b 20 6f |22-Mar-9|6..;;; o|
|00000110| 70 74 69 6d 69 7a 61 74 | 69 6f 6e 20 69 73 20 6f |ptimizat|ion is o|
|00000120| 6e 2e 0a 3b 3b 3b 20 74 | 68 69 73 20 66 69 6c 65 |n..;;; t|his file|
|00000130| 20 75 73 65 73 20 6f 70 | 63 6f 64 65 73 20 77 68 | uses op|codes wh|
|00000140| 69 63 68 20 64 6f 20 6e | 6f 74 20 65 78 69 73 74 |ich do n|ot exist|
|00000150| 20 69 6e 20 45 6d 61 63 | 73 20 31 39 2e 0a 0a 28 | in Emac|s 19...(|
|00000160| 69 66 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |if (and |(boundp |
|00000170| 27 65 6d 61 63 73 2d 76 | 65 72 73 69 6f 6e 29 0a |'emacs-v|ersion).|
|00000180| 09 20 28 6f 72 20 28 61 | 6e 64 20 28 62 6f 75 6e |. (or (a|nd (boun|
|00000190| 64 70 20 27 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |dp 'epoc|h::versi|
|000001a0| 6f 6e 29 20 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |on) epoc|h::versi|
|000001b0| 6f 6e 29 0a 09 20 20 20 | 20 20 28 73 74 72 69 6e |on).. | (strin|
|000001c0| 67 2d 6c 65 73 73 70 20 | 65 6d 61 63 73 2d 76 65 |g-lessp |emacs-ve|
|000001d0| 72 73 69 6f 6e 20 22 32 | 30 22 29 29 29 0a 20 20 |rsion "2|0"))). |
|000001e0| 20 20 28 65 72 72 6f 72 | 20 22 60 73 6b 65 6c 65 | (error| "`skele|
|000001f0| 74 6f 6e 2e 65 6c 27 20 | 77 61 73 20 63 6f 6d 70 |ton.el' |was comp|
|00000200| 69 6c 65 64 20 66 6f 72 | 20 45 6d 61 63 73 20 32 |iled for| Emacs 2|
|00000210| 30 22 29 29 0a 0a 28 6f | 72 20 28 62 6f 75 6e 64 |0"))..(o|r (bound|
|00000220| 70 20 27 63 75 72 72 65 | 6e 74 2d 6c 6f 61 64 2d |p 'curre|nt-load-|
|00000230| 6c 69 73 74 29 20 28 73 | 65 74 71 20 63 75 72 72 |list) (s|etq curr|
|00000240| 65 6e 74 2d 6c 6f 61 64 | 2d 6c 69 73 74 20 6e 69 |ent-load|-list ni|
|00000250| 6c 29 29 0a 0a 0a 23 40 | 32 33 33 20 2a 49 66 20 |l))...#@|233 *If |
|00000260| 6e 6f 6e 2d 6e 69 6c 2c | 20 66 75 6e 63 74 69 6f |non-nil,| functio|
|00000270| 6e 20 61 70 70 6c 69 65 | 64 20 74 6f 20 6c 69 74 |n applie|d to lit|
|00000280| 65 72 61 6c 20 73 74 72 | 69 6e 67 73 20 62 65 66 |eral str|ings bef|
|00000290| 6f 72 65 20 74 68 65 79 | 20 61 72 65 20 69 6e 73 |ore they| are ins|
|000002a0| 65 72 74 65 64 2e 0a 49 | 74 20 73 68 6f 75 6c 64 |erted..I|t should|
|000002b0| 20 74 61 6b 65 20 73 74 | 72 69 6e 67 73 20 61 6e | take st|rings an|
|000002c0| 64 20 63 68 61 72 61 63 | 74 65 72 73 20 61 6e 64 |d charac|ters and|
|000002d0| 20 72 65 74 75 72 6e 20 | 74 68 65 6d 20 74 72 61 | return |them tra|
|000002e0| 6e 73 66 6f 72 6d 65 64 | 2c 20 6f 72 20 6e 69 6c |nsformed|, or nil|
|000002f0| 0a 77 68 69 63 68 20 6d | 65 61 6e 73 20 6e 6f 20 |.which m|eans no |
|00000300| 74 72 61 6e 73 66 6f 72 | 6d 61 74 69 6f 6e 2e 0a |transfor|mation..|
|00000310| 54 79 70 69 63 61 6c 20 | 65 78 61 6d 70 6c 65 73 |Typical |examples|
|00000320| 20 6d 69 67 68 74 20 62 | 65 20 60 75 70 63 61 73 | might b|e `upcas|
|00000330| 65 27 20 6f 72 20 60 63 | 61 70 69 74 61 6c 69 7a |e' or `c|apitaliz|
|00000340| 65 27 2e 1f 0a 28 64 65 | 66 76 61 72 20 73 6b 65 |e'...(de|fvar ske|
|00000350| 6c 65 74 6f 6e 2d 74 72 | 61 6e 73 66 6f 72 6d 61 |leton-tr|ansforma|
|00000360| 74 69 6f 6e 20 6e 69 6c | 20 28 23 24 20 2e 20 2d |tion nil| (#$ . -|
|00000370| 36 30 34 29 29 0a 28 70 | 75 74 20 27 73 6b 65 6c |604)).(p|ut 'skel|
|00000380| 65 74 6f 6e 2d 74 72 61 | 6e 73 66 6f 72 6d 61 74 |eton-tra|nsformat|
|00000390| 69 6f 6e 20 27 76 61 72 | 69 61 62 6c 65 2d 69 6e |ion 'var|iable-in|
|000003a0| 74 65 72 61 63 74 69 76 | 65 20 22 61 54 72 61 6e |teractiv|e "aTran|
|000003b0| 73 66 6f 72 6d 61 74 69 | 6f 6e 20 66 75 6e 63 74 |sformati|on funct|
|000003c0| 69 6f 6e 3a 20 22 29 0a | 23 40 34 35 35 20 43 6f |ion: ").|#@455 Co|
|000003d0| 6e 74 72 6f 6c 73 20 77 | 72 61 70 70 69 6e 67 20 |ntrols w|rapping |
|000003e0| 62 65 68 61 76 69 6f 75 | 72 20 6f 66 20 66 75 6e |behaviou|r of fun|
|000003f0| 63 74 69 6f 6e 73 20 63 | 72 65 61 74 65 64 20 77 |ctions c|reated w|
|00000400| 69 74 68 20 60 64 65 66 | 69 6e 65 2d 73 6b 65 6c |ith `def|ine-skel|
|00000410| 65 74 6f 6e 27 2e 0a 57 | 68 65 6e 20 74 68 65 20 |eton'..W|hen the |
|00000420| 72 65 67 69 6f 6e 20 69 | 73 20 76 69 73 69 62 6c |region i|s visibl|
|00000430| 65 20 28 64 75 65 20 74 | 6f 20 60 74 72 61 6e 73 |e (due t|o `trans|
|00000440| 69 65 6e 74 2d 6d 61 72 | 6b 2d 6d 6f 64 65 27 20 |ient-mar|k-mode' |
|00000450| 6f 72 20 6d 61 72 6b 69 | 6e 67 20 61 20 72 65 67 |or marki|ng a reg|
|00000460| 69 6f 6e 0a 77 69 74 68 | 20 74 68 65 20 6d 6f 75 |ion.with| the mou|
|00000470| 73 65 29 20 61 6e 64 20 | 74 68 69 73 20 69 73 20 |se) and |this is |
|00000480| 6e 6f 6e 2d 60 6e 69 6c | 27 20 61 6e 64 20 74 68 |non-`nil|' and th|
|00000490| 65 20 66 75 6e 63 74 69 | 6f 6e 20 77 61 73 20 63 |e functi|on was c|
|000004a0| 61 6c 6c 65 64 20 77 69 | 74 68 6f 75 74 20 61 6e |alled wi|thout an|
|000004b0| 0a 65 78 70 6c 69 63 69 | 74 20 41 52 47 2c 20 74 |.explici|t ARG, t|
|000004c0| 68 65 6e 20 74 68 65 20 | 41 52 47 20 64 65 66 61 |hen the |ARG defa|
|000004d0| 75 6c 74 73 20 74 6f 20 | 2d 31 2c 20 69 2e 65 2e |ults to |-1, i.e.|
|000004e0| 20 77 72 61 70 70 69 6e | 67 20 61 72 6f 75 6e 64 | wrappin|g around|
|000004f0| 20 74 68 65 20 76 69 73 | 69 62 6c 65 0a 72 65 67 | the vis|ible.reg|
|00000500| 69 6f 6e 2e 0a 0a 57 65 | 20 77 69 6c 6c 20 70 72 |ion...We| will pr|
|00000510| 6f 62 61 62 6c 79 20 64 | 65 6c 65 74 65 20 74 68 |obably d|elete th|
|00000520| 69 73 20 76 61 72 69 61 | 62 6c 65 20 69 6e 20 61 |is varia|ble in a|
|00000530| 20 66 75 74 75 72 65 20 | 45 6d 61 63 73 20 76 65 | future |Emacs ve|
|00000540| 72 73 69 6f 6e 0a 75 6e | 6c 65 73 73 20 77 65 20 |rsion.un|less we |
|00000550| 67 65 74 20 61 20 73 75 | 62 73 74 61 6e 74 69 61 |get a su|bstantia|
|00000560| 6c 20 6e 75 6d 62 65 72 | 20 6f 66 20 63 6f 6d 70 |l number| of comp|
|00000570| 6c 61 69 6e 74 73 20 61 | 62 6f 75 74 20 74 68 65 |laints a|bout the|
|00000580| 20 61 75 74 6f 2d 77 72 | 61 70 0a 66 65 61 74 75 | auto-wr|ap.featu|
|00000590| 72 65 2e 1f 0a 28 64 65 | 66 76 61 72 20 73 6b 65 |re...(de|fvar ske|
|000005a0| 6c 65 74 6f 6e 2d 61 75 | 74 6f 77 72 61 70 20 74 |leton-au|towrap t|
|000005b0| 20 28 23 24 20 2e 20 39 | 37 34 29 29 0a 23 40 31 | (#$ . 9|74)).#@1|
|000005c0| 39 31 20 48 6f 6f 6b 20 | 63 61 6c 6c 65 64 20 61 |91 Hook |called a|
|000005d0| 74 20 65 6e 64 20 6f 66 | 20 73 6b 65 6c 65 74 6f |t end of| skeleto|
|000005e0| 6e 20 62 75 74 20 62 65 | 66 6f 72 65 20 67 6f 69 |n but be|fore goi|
|000005f0| 6e 67 20 74 6f 20 70 6f | 69 6e 74 20 6f 66 20 69 |ng to po|int of i|
|00000600| 6e 74 65 72 65 73 74 2e | 0a 42 79 20 64 65 66 61 |nterest.|.By defa|
|00000610| 75 6c 74 20 74 68 69 73 | 20 6d 6f 76 65 73 20 6f |ult this| moves o|
|00000620| 75 74 20 61 6e 79 74 68 | 69 6e 67 20 66 6f 6c 6c |ut anyth|ing foll|
|00000630| 6f 77 69 6e 67 20 74 6f | 20 6e 65 78 74 20 6c 69 |owing to| next li|
|00000640| 6e 65 2e 0a 54 68 65 20 | 76 61 72 69 61 62 6c 65 |ne..The |variable|
|00000650| 73 20 60 76 31 27 20 61 | 6e 64 20 60 76 32 27 20 |s `v1' a|nd `v2' |
|00000660| 61 72 65 20 73 74 69 6c | 6c 20 73 65 74 20 77 68 |are stil|l set wh|
|00000670| 65 6e 20 63 61 6c 6c 69 | 6e 67 20 74 68 69 73 2e |en calli|ng this.|
|00000680| 1f 0a 28 64 65 66 76 61 | 72 20 73 6b 65 6c 65 74 |..(defva|r skelet|
|00000690| 6f 6e 2d 65 6e 64 2d 68 | 6f 6f 6b 20 23 5b 6e 69 |on-end-h|ook #[ni|
|000006a0| 6c 20 22 6c ae 82 c0 20 | 87 22 20 5b 6e 65 77 6c |l "l... |." [newl|
|000006b0| 69 6e 65 2d 61 6e 64 2d | 69 6e 64 65 6e 74 5d 20 |ine-and-|indent] |
|000006c0| 31 5d 20 28 23 24 20 2e | 20 31 34 37 35 29 29 0a |1] (#$ .| 1475)).|
|000006d0| 23 40 37 31 20 46 75 6e | 63 74 69 6f 6e 20 66 6f |#@71 Fun|ction fo|
|000006e0| 72 20 74 72 61 6e 73 66 | 6f 72 6d 69 6e 67 20 61 |r transf|orming a|
|000006f0| 20 73 6b 65 6c 65 74 6f | 6e 20 70 72 6f 78 79 27 | skeleto|n proxy'|
|00000700| 73 20 61 6c 69 61 73 65 | 73 27 20 76 61 72 69 61 |s aliase|s' varia|
|00000710| 62 6c 65 20 76 61 6c 75 | 65 2e 1f 0a 28 64 65 66 |ble valu|e...(def|
|00000720| 76 61 72 20 73 6b 65 6c | 65 74 6f 6e 2d 66 69 6c |var skel|eton-fil|
|00000730| 74 65 72 20 27 69 64 65 | 6e 74 69 74 79 20 28 23 |ter 'ide|ntity (#|
|00000740| 24 20 2e 20 31 37 34 39 | 29 29 0a 23 40 37 30 20 |$ . 1749|)).#@70 |
|00000750| 57 68 65 6e 20 6e 6f 6e | 2d 60 6e 69 6c 27 20 75 |When non|-`nil' u|
|00000760| 6e 74 61 62 69 66 69 65 | 73 20 77 68 65 6e 20 64 |ntabifie|s when d|
|00000770| 65 6c 65 74 69 6e 67 20 | 62 61 63 6b 77 61 72 64 |eleting |backward|
|00000780| 73 20 77 69 74 68 20 65 | 6c 65 6d 65 6e 74 20 2d |s with e|lement -|
|00000790| 41 52 47 2e 1f 0a 28 64 | 65 66 76 61 72 20 73 6b |ARG...(d|efvar sk|
|000007a0| 65 6c 65 74 6f 6e 2d 75 | 6e 74 61 62 69 66 79 20 |eleton-u|ntabify |
|000007b0| 74 20 28 23 24 20 2e 20 | 31 38 37 32 29 29 0a 23 |t (#$ . |1872)).#|
|000007c0| 40 31 30 39 20 57 68 65 | 6e 20 6e 6f 6e 2d 60 6e |@109 Whe|n non-`n|
|000007d0| 69 6c 27 2c 20 69 6e 64 | 65 6e 74 20 72 69 67 69 |il', ind|ent rigi|
|000007e0| 64 6c 79 20 75 6e 64 65 | 72 20 63 75 72 72 65 6e |dly unde|r curren|
|000007f0| 74 20 6c 69 6e 65 20 66 | 6f 72 20 65 6c 65 6d 65 |t line f|or eleme|
|00000800| 6e 74 20 60 5c 6e 27 2e | 0a 45 6c 73 65 20 75 73 |nt `\n'.|.Else us|
|00000810| 65 20 6d 6f 64 65 27 73 | 20 60 69 6e 64 65 6e 74 |e mode's| `indent|
|00000820| 2d 6c 69 6e 65 2d 66 75 | 6e 63 74 69 6f 6e 27 2e |-line-fu|nction'.|
|00000830| 1f 0a 28 64 65 66 76 61 | 72 20 73 6b 65 6c 65 74 |..(defva|r skelet|
|00000840| 6f 6e 2d 6e 65 77 6c 69 | 6e 65 2d 69 6e 64 65 6e |on-newli|ne-inden|
|00000850| 74 2d 72 69 67 69 64 6c | 79 20 6e 69 6c 20 28 23 |t-rigidl|y nil (#|
|00000860| 24 20 2e 20 31 39 38 39 | 29 29 0a 23 40 32 34 30 |$ . 1989|)).#@240|
|00000870| 20 41 20 62 75 66 66 65 | 72 2d 6c 6f 63 61 6c 20 | A buffe|r-local |
|00000880| 76 61 72 6c 69 73 74 20 | 28 73 65 65 20 60 6c 65 |varlist |(see `le|
|00000890| 74 27 29 20 6f 66 20 6d | 6f 64 65 20 73 70 65 63 |t') of m|ode spec|
|000008a0| 69 66 69 63 20 73 6b 65 | 6c 65 74 6f 6e 20 65 6c |ific ske|leton el|
|000008b0| 65 6d 65 6e 74 73 2e 0a | 54 68 65 73 65 20 76 61 |ements..|These va|
|000008c0| 72 69 61 62 6c 65 73 20 | 61 72 65 20 62 6f 75 6e |riables |are boun|
|000008d0| 64 20 77 68 69 6c 65 20 | 69 6e 74 65 72 70 72 65 |d while |interpre|
|000008e0| 74 69 6e 67 20 61 20 73 | 6b 65 6c 65 74 6f 6e 2e |ting a s|keleton.|
|000008f0| 20 20 54 68 65 69 72 20 | 76 61 6c 75 65 20 6d 61 | Their |value ma|
|00000900| 79 0a 69 6e 20 74 75 72 | 6e 20 62 65 20 61 6e 79 |y.in tur|n be any|
|00000910| 20 76 61 6c 69 64 20 73 | 6b 65 6c 65 74 6f 6e 20 | valid s|keleton |
|00000920| 65 6c 65 6d 65 6e 74 20 | 69 66 20 74 68 65 79 20 |element |if they |
|00000930| 61 72 65 20 74 68 65 6d | 73 65 6c 76 65 73 20 74 |are them|selves t|
|00000940| 6f 20 62 65 20 75 73 65 | 64 20 61 73 0a 73 6b 65 |o be use|d as.ske|
|00000950| 6c 65 74 6f 6e 20 65 6c | 65 6d 65 6e 74 73 2e 1f |leton el|ements..|
|00000960| 0a 28 64 65 66 76 61 72 | 20 73 6b 65 6c 65 74 6f |.(defvar| skeleto|
|00000970| 6e 2d 66 75 72 74 68 65 | 72 2d 65 6c 65 6d 65 6e |n-furthe|r-elemen|
|00000980| 74 73 20 6e 69 6c 20 28 | 23 24 20 2e 20 32 31 36 |ts nil (|#$ . 216|
|00000990| 31 29 29 0a 28 6d 61 6b | 65 2d 76 61 72 69 61 62 |1)).(mak|e-variab|
|000009a0| 6c 65 2d 62 75 66 66 65 | 72 2d 6c 6f 63 61 6c 20 |le-buffe|r-local |
|000009b0| 27 73 6b 65 6c 65 74 6f | 6e 2d 66 75 72 74 68 65 |'skeleto|n-furthe|
|000009c0| 72 2d 65 6c 65 6d 65 6e | 74 73 29 0a 23 40 35 39 |r-elemen|ts).#@59|
|000009d0| 20 2a 52 65 70 6c 61 63 | 65 6d 65 6e 74 20 66 6f | *Replac|ement fo|
|000009e0| 72 20 25 73 20 69 6e 20 | 70 72 6f 6d 70 74 73 20 |r %s in |prompts |
|000009f0| 6f 66 20 72 65 63 75 72 | 73 69 76 65 20 73 75 62 |of recur|sive sub|
|00000a00| 73 6b 65 6c 65 74 6f 6e | 73 2e 1f 0a 28 64 65 66 |skeleton|s...(def|
|00000a10| 76 61 72 20 73 6b 65 6c | 65 74 6f 6e 2d 73 75 62 |var skel|eton-sub|
|00000a20| 70 72 6f 6d 70 74 20 28 | 73 75 62 73 74 69 74 75 |prompt (|substitu|
|00000a30| 74 65 2d 63 6f 6d 6d 61 | 6e 64 2d 6b 65 79 73 20 |te-comma|nd-keys |
|00000a40| 22 52 45 54 2c 20 5c 5c | 3c 6d 69 6e 69 62 75 66 |"RET, \\|<minibuf|
|00000a50| 66 65 72 2d 6c 6f 63 61 | 6c 2d 6d 61 70 3e 5c 5c |fer-loca|l-map>\\|
|00000a60| 5b 61 62 6f 72 74 2d 72 | 65 63 75 72 73 69 76 65 |[abort-r|ecursive|
|00000a70| 2d 65 64 69 74 5d 20 6f | 72 20 5c 5c 5b 68 65 6c |-edit] o|r \\[hel|
|00000a80| 70 2d 63 6f 6d 6d 61 6e | 64 5d 22 29 20 28 23 24 |p-comman|d]") (#$|
|00000a90| 20 2e 20 2d 32 35 31 33 | 29 29 0a 23 40 36 39 20 | . -2513|)).#@69 |
|00000aa0| 56 61 72 69 61 62 6c 65 | 20 75 73 65 64 20 74 6f |Variable| used to|
|00000ab0| 20 64 65 6c 65 74 65 20 | 74 68 65 20 63 68 61 72 | delete |the char|
|00000ac0| 61 63 74 65 72 20 74 68 | 61 74 20 6c 65 64 20 74 |acter th|at led t|
|00000ad0| 6f 20 61 62 62 72 65 76 | 20 65 78 70 61 6e 73 69 |o abbrev| expansi|
|00000ae0| 6f 6e 2e 1f 0a 28 64 65 | 66 76 61 72 20 73 6b 65 |on...(de|fvar ske|
|00000af0| 6c 65 74 6f 6e 2d 61 62 | 62 72 65 76 2d 63 6c 65 |leton-ab|brev-cle|
|00000b00| 61 6e 75 70 20 6e 69 6c | 20 28 23 24 20 2e 20 32 |anup nil| (#$ . 2|
|00000b10| 37 32 30 29 29 0a 23 40 | 36 36 20 2a 49 66 20 6e |720)).#@|66 *If n|
|00000b20| 6f 6e 2d 6e 69 6c 20 60 | 64 65 66 69 6e 65 2d 73 |on-nil `|define-s|
|00000b30| 6b 65 6c 65 74 6f 6e 27 | 20 77 69 6c 6c 20 6f 76 |keleton'| will ov|
|00000b40| 65 72 72 69 64 65 20 70 | 72 65 76 69 6f 75 73 20 |erride p|revious |
|00000b50| 64 65 66 69 6e 69 74 69 | 6f 6e 2e 1f 0a 28 64 65 |definiti|on...(de|
|00000b60| 66 76 61 72 20 73 6b 65 | 6c 65 74 6f 6e 2d 64 65 |fvar ske|leton-de|
|00000b70| 62 75 67 20 6e 69 6c 20 | 28 23 24 20 2e 20 2d 32 |bug nil |(#$ . -2|
|00000b80| 38 34 33 29 29 0a 28 62 | 79 74 65 2d 63 6f 64 65 |843)).(b|yte-code|
|00000b90| 20 22 c0 09 42 11 c2 09 | 42 11 c3 09 42 11 c4 09 | "..B...|B...B...|
|00000ba0| 42 11 c0 87 22 20 5b 73 | 6b 65 6c 65 74 6f 6e 20 |B..." [s|keleton |
|00000bb0| 63 75 72 72 65 6e 74 2d | 6c 6f 61 64 2d 6c 69 73 |current-|load-lis|
|00000bc0| 74 20 73 6b 65 6c 65 74 | 6f 6e 2d 6d 6f 64 69 66 |t skelet|on-modif|
|00000bd0| 69 65 64 20 73 6b 65 6c | 65 74 6f 6e 2d 70 6f 69 |ied skel|eton-poi|
|00000be0| 6e 74 20 73 6b 65 6c 65 | 74 6f 6e 2d 72 65 67 69 |nt skele|ton-regi|
|00000bf0| 6f 6e 73 5d 20 32 29 0a | 23 40 32 37 37 20 44 65 |ons] 2).|#@277 De|
|00000c00| 66 69 6e 65 20 61 20 75 | 73 65 72 2d 63 6f 6e 66 |fine a u|ser-conf|
|00000c10| 69 67 75 72 61 62 6c 65 | 20 43 4f 4d 4d 41 4e 44 |igurable| COMMAND|
|00000c20| 20 74 68 61 74 20 65 6e | 74 65 72 73 20 61 20 73 | that en|ters a s|
|00000c30| 74 61 74 65 6d 65 6e 74 | 20 73 6b 65 6c 65 74 6f |tatement| skeleto|
|00000c40| 6e 2e 0a 44 4f 43 55 4d | 45 4e 54 41 54 49 4f 4e |n..DOCUM|ENTATION|
|00000c50| 20 69 73 20 74 68 61 74 | 20 6f 66 20 74 68 65 20 | is that| of the |
|00000c60| 63 6f 6d 6d 61 6e 64 2c | 20 77 68 69 6c 65 20 74 |command,| while t|
|00000c70| 68 65 20 76 61 72 69 61 | 62 6c 65 20 6f 66 20 74 |he varia|ble of t|
|00000c80| 68 65 20 73 61 6d 65 20 | 6e 61 6d 65 2c 0a 77 68 |he same |name,.wh|
|00000c90| 69 63 68 20 63 6f 6e 74 | 61 69 6e 73 20 74 68 65 |ich cont|ains the|
|00000ca0| 20 73 6b 65 6c 65 74 6f | 6e 2c 20 68 61 73 20 61 | skeleto|n, has a|
|00000cb0| 20 64 6f 63 75 6d 65 6e | 74 61 74 69 6f 6e 20 74 | documen|tation t|
|00000cc0| 6f 20 74 68 61 74 20 65 | 66 66 65 63 74 2e 0a 49 |o that e|ffect..I|
|00000cd0| 4e 54 45 52 41 43 54 4f | 52 20 61 6e 64 20 45 4c |NTERACTO|R and EL|
|00000ce0| 45 4d 45 4e 54 20 2e 2e | 2e 20 61 72 65 20 61 73 |EMENT ..|. are as|
|00000cf0| 20 64 65 66 69 6e 65 64 | 20 75 6e 64 65 72 20 60 | defined| under `|
|00000d00| 73 6b 65 6c 65 74 6f 6e | 2d 69 6e 73 65 72 74 27 |skeleton|-insert'|
|00000d10| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 64 65 |...(defa|lias 'de|
|00000d20| 66 69 6e 65 2d 73 6b 65 | 6c 65 74 6f 6e 20 27 28 |fine-ske|leton '(|
|00000d30| 6d 61 63 72 6f 20 2e 20 | 23 5b 28 63 6f 6d 6d 61 |macro . |#[(comma|
|00000d40| 6e 64 20 64 6f 63 75 6d | 65 6e 74 61 74 69 6f 6e |nd docum|entation|
|00000d50| 20 26 72 65 73 74 20 73 | 6b 65 6c 65 74 6f 6e 29 | &rest s|keleton)|
|00000d60| 20 22 08 ab 84 09 5c 6e | 4c 88 c3 c4 09 c5 0e 06 | "....\n|L.......|
|00000d70| c7 c8 0e 06 5c 22 ab 83 | c9 aa 81 ca ca cb 52 cc |....\"..|......R.|
|00000d80| cd ce 5c 6e 44 cf 42 42 | af 06 44 87 22 20 5b 73 |..\nD.BB|..D." [s|
|00000d90| 6b 65 6c 65 74 6f 6e 2d | 64 65 62 75 67 20 63 6f |keleton-|debug co|
|00000da0| 6d 6d 61 6e 64 20 73 6b | 65 6c 65 74 6f 6e 20 70 |mmand sk|eleton p|
|00000db0| 72 6f 67 6e 20 64 65 66 | 75 6e 20 28 26 6f 70 74 |rogn def|un (&opt|
|00000dc0| 69 6f 6e 61 6c 20 73 74 | 72 20 61 72 67 29 20 64 |ional st|r arg) d|
|00000dd0| 6f 63 75 6d 65 6e 74 61 | 74 69 6f 6e 20 73 74 72 |ocumenta|tion str|
|00000de0| 69 6e 67 2d 6d 61 74 63 | 68 20 22 5c 6e 5c 5c 3e |ing-matc|h "\n\\>|
|00000df0| 22 20 22 22 20 22 5c 6e | 22 20 22 54 68 69 73 20 |" "" "\n|" "This |
|00000e00| 69 73 20 61 20 73 6b 65 | 6c 65 74 6f 6e 20 63 6f |is a ske|leton co|
|00000e10| 6d 6d 61 6e 64 20 28 73 | 65 65 20 60 73 6b 65 6c |mmand (s|ee `skel|
|00000e20| 65 74 6f 6e 2d 69 6e 73 | 65 72 74 27 29 2e 5c 6e |eton-ins|ert').\n|
|00000e30| 4e 6f 72 6d 61 6c 6c 79 | 20 74 68 65 20 73 6b 65 |Normally| the ske|
|00000e40| 6c 65 74 6f 6e 20 74 65 | 78 74 20 69 73 20 69 6e |leton te|xt is in|
|00000e50| 73 65 72 74 65 64 20 61 | 74 20 70 6f 69 6e 74 2c |serted a|t point,|
|00000e60| 20 77 69 74 68 20 6e 6f | 74 68 69 6e 67 20 5c 22 | with no|thing \"|
|00000e70| 69 6e 73 69 64 65 5c 22 | 2e 5c 6e 49 66 20 74 68 |inside\"|.\nIf th|
|00000e80| 65 72 65 20 69 73 20 61 | 20 68 69 67 68 6c 69 67 |ere is a| highlig|
|00000e90| 68 74 65 64 20 72 65 67 | 69 6f 6e 2c 20 74 68 65 |hted reg|ion, the|
|00000ea0| 20 73 6b 65 6c 65 74 6f | 6e 20 74 65 78 74 20 69 | skeleto|n text i|
|00000eb0| 73 20 77 72 61 70 70 65 | 64 5c 6e 61 72 6f 75 6e |s wrappe|d\naroun|
|00000ec0| 64 20 74 68 65 20 72 65 | 67 69 6f 6e 20 74 65 78 |d the re|gion tex|
|00000ed0| 74 2e 5c 6e 5c 6e 41 20 | 70 72 65 66 69 78 20 61 |t.\n\nA |prefix a|
|00000ee0| 72 67 75 6d 65 6e 74 20 | 41 52 47 20 73 61 79 73 |rgument |ARG says|
|00000ef0| 20 74 6f 20 77 72 61 70 | 20 74 68 65 20 73 6b 65 | to wrap| the ske|
|00000f00| 6c 65 74 6f 6e 20 61 72 | 6f 75 6e 64 20 74 68 65 |leton ar|ound the|
|00000f10| 20 6e 65 78 74 20 41 52 | 47 20 77 6f 72 64 73 2e | next AR|G words.|
|00000f20| 5c 6e 41 20 70 72 65 66 | 69 78 20 61 72 67 75 6d |\nA pref|ix argum|
|00000f30| 65 6e 74 20 6f 66 20 7a | 65 72 6f 20 73 61 79 73 |ent of z|ero says|
|00000f40| 20 74 6f 20 77 72 61 70 | 20 61 72 6f 75 6e 64 20 | to wrap| around |
|00000f50| 7a 65 72 6f 20 77 6f 72 | 64 73 2d 2d 2d 74 68 61 |zero wor|ds---tha|
|00000f60| 74 20 69 73 2c 20 6e 6f | 74 68 69 6e 67 2e 5c 6e |t is, no|thing.\n|
|00000f70| 54 68 69 73 20 69 73 20 | 61 20 77 61 79 20 6f 66 |This is |a way of|
|00000f80| 20 6f 76 65 72 69 64 69 | 6e 67 20 74 68 65 20 75 | overidi|ng the u|
|00000f90| 73 65 20 6f 66 20 61 20 | 68 69 67 68 6c 69 67 68 |se of a |highligh|
|00000fa0| 74 65 64 20 72 65 67 69 | 6f 6e 2e 22 20 28 69 6e |ted regi|on." (in|
|00000fb0| 74 65 72 61 63 74 69 76 | 65 20 22 2a 50 5c 6e 50 |teractiv|e "*P\nP|
|00000fc0| 22 29 20 73 6b 65 6c 65 | 74 6f 6e 2d 70 72 6f 78 |") skele|ton-prox|
|00000fd0| 79 2d 6e 65 77 20 71 75 | 6f 74 65 20 28 73 74 72 |y-new qu|ote (str|
|00000fe0| 20 61 72 67 29 5d 20 39 | 20 28 23 24 20 2e 20 33 | arg)] 9| (#$ . 3|
|00000ff0| 30 37 30 29 5d 29 29 0a | 23 40 35 37 37 20 49 6e |070)])).|#@577 In|
|00001000| 73 65 72 74 20 73 6b 65 | 6c 65 74 6f 6e 20 64 65 |sert ske|leton de|
|00001010| 66 69 6e 65 64 20 62 79 | 20 76 61 72 69 61 62 6c |fined by| variabl|
|00001020| 65 20 6f 66 20 73 61 6d | 65 20 6e 61 6d 65 20 28 |e of sam|e name (|
|00001030| 73 65 65 20 60 73 6b 65 | 6c 65 74 6f 6e 2d 69 6e |see `ske|leton-in|
|00001040| 73 65 72 74 27 29 2e 0a | 50 72 65 66 69 78 20 41 |sert')..|Prefix A|
|00001050| 52 47 20 61 6c 6c 6f 77 | 73 20 77 72 61 70 70 69 |RG allow|s wrappi|
|00001060| 6e 67 20 61 72 6f 75 6e | 64 20 77 6f 72 64 73 20 |ng aroun|d words |
|00001070| 6f 72 20 72 65 67 69 6f | 6e 73 20 28 73 65 65 20 |or regio|ns (see |
|00001080| 60 73 6b 65 6c 65 74 6f | 6e 2d 69 6e 73 65 72 74 |`skeleto|n-insert|
|00001090| 27 29 2e 0a 49 66 20 6e | 6f 20 41 52 47 20 77 61 |')..If n|o ARG wa|
|000010a0| 73 20 67 69 76 65 6e 2c | 20 62 75 74 20 74 68 65 |s given,| but the|
|000010b0| 20 72 65 67 69 6f 6e 20 | 69 73 20 76 69 73 69 62 | region |is visib|
|000010c0| 6c 65 2c 20 41 52 47 20 | 64 65 66 61 75 6c 74 73 |le, ARG |defaults|
|000010d0| 20 74 6f 20 2d 31 20 64 | 65 70 65 6e 64 69 6e 67 | to -1 d|epending|
|000010e0| 0a 6f 6e 20 60 73 6b 65 | 6c 65 74 6f 6e 2d 61 75 |.on `ske|leton-au|
|000010f0| 74 6f 77 72 61 70 27 2e | 20 20 41 6e 20 41 52 47 |towrap'.| An ARG|
|00001100| 20 6f 66 20 20 4d 2d 30 | 20 20 77 69 6c 6c 20 70 | of M-0| will p|
|00001110| 72 65 76 65 6e 74 20 74 | 68 69 73 20 6a 75 73 74 |revent t|his just|
|00001120| 20 66 6f 72 20 6f 6e 63 | 65 2e 0a 54 68 69 73 20 | for onc|e..This |
|00001130| 63 6f 6d 6d 61 6e 64 20 | 63 61 6e 20 61 6c 73 6f |command |can also|
|00001140| 20 62 65 20 61 6e 20 61 | 62 62 72 65 76 20 65 78 | be an a|bbrev ex|
|00001150| 70 61 6e 73 69 6f 6e 20 | 28 33 72 64 20 61 6e 64 |pansion |(3rd and|
|00001160| 20 34 74 68 20 63 6f 6c | 75 6d 6e 73 20 69 6e 0a | 4th col|umns in.|
|00001170| 5c 5b 65 64 69 74 2d 61 | 62 62 72 65 76 73 5d 20 |\[edit-a|bbrevs] |
|00001180| 20 62 75 66 66 65 72 3a | 20 22 22 20 20 63 6f 6d | buffer:| "" com|
|00001190| 6d 61 6e 64 2d 6e 61 6d | 65 29 2e 0a 20 0a 57 68 |mand-nam|e).. .Wh|
|000011a0| 65 6e 20 63 61 6c 6c 65 | 64 20 61 73 20 61 20 66 |en calle|d as a f|
|000011b0| 75 6e 63 74 69 6f 6e 2c | 20 6f 70 74 69 6f 6e 61 |unction,| optiona|
|000011c0| 6c 20 66 69 72 73 74 20 | 61 72 67 75 6d 65 6e 74 |l first |argument|
|000011d0| 20 53 54 52 20 6d 61 79 | 20 61 6c 73 6f 20 62 65 | STR may| also be|
|000011e0| 20 61 20 73 74 72 69 6e | 67 0a 77 68 69 63 68 20 | a strin|g.which |
|000011f0| 77 69 6c 6c 20 62 65 20 | 74 68 65 20 76 61 6c 75 |will be |the valu|
|00001200| 65 20 6f 66 20 60 73 74 | 72 27 20 77 68 65 72 65 |e of `st|r' where|
|00001210| 61 73 20 74 68 65 20 73 | 6b 65 6c 65 74 6f 6e 27 |as the s|keleton'|
|00001220| 73 20 69 6e 74 65 72 61 | 63 74 6f 72 20 69 73 20 |s intera|ctor is |
|00001230| 74 68 65 6e 0a 69 67 6e | 6f 72 65 64 2e 1f 0a 28 |then.ign|ored...(|
|00001240| 64 65 66 61 6c 69 61 73 | 20 27 73 6b 65 6c 65 74 |defalias| 'skelet|
|00001250| 6f 6e 2d 70 72 6f 78 79 | 2d 6e 65 77 20 23 5b 28 |on-proxy|-new #[(|
|00001260| 73 6b 65 6c 65 74 6f 6e | 20 26 6f 70 74 69 6f 6e |skeleton| &option|
|00001270| 61 6c 20 73 74 72 20 61 | 72 67 29 20 22 08 09 21 |al str a|rg) "..!|
|00001280| 89 11 ac 8e 5c 6e c3 73 | ad e1 c4 c5 0e 06 5c 22 |....\n.s|......\"|
|00001290| 89 16 06 87 c7 09 5c 6e | c8 61 ae 83 5c 6e c9 61 |......\n|.a..\n.a|
|000012a0| 89 16 5c 6e 3f ad af 0e | 0b ac 84 0e 0c ab 8a cd |..\n?...|........|
|000012b0| 0e 0b ae 82 0e 0c 21 aa | 9d 0e 0e ad 99 0e 0f d0 |......!.|........|
|000012c0| 61 ac 92 d1 d2 21 ad 8e | d1 d3 21 ad 89 0e 12 ad |a....!..|..!.....|
|000012d0| 85 0e 13 ad 81 d4 0e 15 | 3b ad 82 0e 15 23 88 0e |........|;....#..|
|000012e0| 5c 6e ad 8c 60 89 16 5c | 6e ad 86 d6 d7 ca d8 d9 |\n..`..\|n.......|
|000012f0| 24 87 22 20 5b 73 6b 65 | 6c 65 74 6f 6e 2d 66 69 |$." [ske|leton-fi|
|00001300| 6c 74 65 72 20 73 6b 65 | 6c 65 74 6f 6e 20 74 68 |lter ske|leton th|
|00001310| 69 73 2d 63 6f 6d 6d 61 | 6e 64 20 28 73 65 6c 66 |is-comma|nd (self|
|00001320| 2d 69 6e 73 65 72 74 2d | 63 6f 6d 6d 61 6e 64 20 |-insert-|command |
|00001330| 73 6b 65 6c 65 74 6f 6e | 2d 70 61 69 72 2d 69 6e |skeleton|-pair-in|
|00001340| 73 65 72 74 2d 6d 61 79 | 62 65 20 65 78 70 61 6e |sert-may|be expan|
|00001350| 64 2d 61 62 62 72 65 76 | 29 20 70 72 69 6d 69 74 |d-abbrev|) primit|
|00001360| 69 76 65 2d 75 6e 64 6f | 20 31 20 62 75 66 66 65 |ive-undo| 1 buffe|
|00001370| 72 2d 75 6e 64 6f 2d 6c | 69 73 74 20 73 6b 65 6c |r-undo-l|ist skel|
|00001380| 65 74 6f 6e 2d 69 6e 73 | 65 72 74 20 73 65 6c 66 |eton-ins|ert self|
|00001390| 2d 69 6e 73 65 72 74 2d | 63 6f 6d 6d 61 6e 64 20 |-insert-|command |
|000013a0| 73 6b 65 6c 65 74 6f 6e | 2d 70 61 69 72 2d 69 6e |skeleton|-pair-in|
|000013b0| 73 65 72 74 2d 6d 61 79 | 62 65 20 73 6b 65 6c 65 |sert-may|be skele|
|000013c0| 74 6f 6e 2d 61 62 62 72 | 65 76 2d 63 6c 65 61 6e |ton-abbr|ev-clean|
|000013d0| 75 70 20 61 72 67 20 63 | 75 72 72 65 6e 74 2d 70 |up arg c|urrent-p|
|000013e0| 72 65 66 69 78 2d 61 72 | 67 20 70 72 65 66 69 78 |refix-ar|g prefix|
|000013f0| 2d 6e 75 6d 65 72 69 63 | 2d 76 61 6c 75 65 20 73 |-numeric|-value s|
|00001400| 6b 65 6c 65 74 6f 6e 2d | 61 75 74 6f 77 72 61 70 |keleton-|autowrap|
|00001410| 20 6c 61 73 74 2d 63 6f | 6d 6d 61 6e 64 20 6d 6f | last-co|mmand mo|
|00001420| 75 73 65 2d 64 72 61 67 | 2d 72 65 67 69 6f 6e 20 |use-drag|-region |
|00001430| 62 6f 75 6e 64 70 20 74 | 72 61 6e 73 69 65 6e 74 |boundp t|ransient|
|00001440| 2d 6d 61 72 6b 2d 6d 6f | 64 65 20 6d 61 72 6b 2d |-mark-mo|de mark-|
|00001450| 61 63 74 69 76 65 20 2d | 31 20 73 74 72 20 61 64 |active -|1 str ad|
|00001460| 64 2d 68 6f 6f 6b 20 70 | 6f 73 74 2d 63 6f 6d 6d |d-hook p|ost-comm|
|00001470| 61 6e 64 2d 68 6f 6f 6b | 20 6e 69 6c 20 74 5d 20 |and-hook| nil t] |
|00001480| 36 20 28 23 24 20 2e 20 | 34 30 39 34 29 20 22 2a |6 (#$ . |4094) "*|
|00001490| 50 5c 6e 50 22 5d 29 0a | 23 40 35 37 36 20 49 6e |P\nP"]).|#@576 In|
|000014a0| 73 65 72 74 20 73 6b 65 | 6c 65 74 6f 6e 20 64 65 |sert ske|leton de|
|000014b0| 66 69 6e 65 64 20 62 79 | 20 76 61 72 69 61 62 6c |fined by| variabl|
|000014c0| 65 20 6f 66 20 73 61 6d | 65 20 6e 61 6d 65 20 28 |e of sam|e name (|
|000014d0| 73 65 65 20 60 73 6b 65 | 6c 65 74 6f 6e 2d 69 6e |see `ske|leton-in|
|000014e0| 73 65 72 74 27 29 2e 0a | 50 72 65 66 69 78 20 41 |sert')..|Prefix A|
|000014f0| 52 47 20 61 6c 6c 6f 77 | 73 20 77 72 61 70 70 69 |RG allow|s wrappi|
|00001500| 6e 67 20 61 72 6f 75 6e | 64 20 77 6f 72 64 73 20 |ng aroun|d words |
|00001510| 6f 72 20 72 65 67 69 6f | 6e 73 20 28 73 65 65 20 |or regio|ns (see |
|00001520| 60 73 6b 65 6c 65 74 6f | 6e 2d 69 6e 73 65 72 74 |`skeleto|n-insert|
|00001530| 27 29 2e 0a 49 66 20 6e | 6f 20 41 52 47 20 77 61 |')..If n|o ARG wa|
|00001540| 73 20 67 69 76 65 6e 2c | 20 62 75 74 20 74 68 65 |s given,| but the|
|00001550| 20 72 65 67 69 6f 6e 20 | 69 73 20 76 69 73 69 62 | region |is visib|
|00001560| 6c 65 2c 20 41 52 47 20 | 64 65 66 61 75 6c 74 73 |le, ARG |defaults|
|00001570| 20 74 6f 20 2d 31 20 64 | 65 70 65 6e 64 69 6e 67 | to -1 d|epending|
|00001580| 0a 6f 6e 20 60 73 6b 65 | 6c 65 74 6f 6e 2d 61 75 |.on `ske|leton-au|
|00001590| 74 6f 77 72 61 70 27 2e | 20 20 41 6e 20 41 52 47 |towrap'.| An ARG|
|000015a0| 20 6f 66 20 20 4d 2d 30 | 20 20 77 69 6c 6c 20 70 | of M-0| will p|
|000015b0| 72 65 76 65 6e 74 20 74 | 68 69 73 20 6a 75 73 74 |revent t|his just|
|000015c0| 20 66 6f 72 20 6f 6e 63 | 65 2e 0a 54 68 69 73 20 | for onc|e..This |
|000015d0| 63 6f 6d 6d 61 6e 64 20 | 63 61 6e 20 61 6c 73 6f |command |can also|
|000015e0| 20 62 65 20 61 6e 20 61 | 62 62 72 65 76 20 65 78 | be an a|bbrev ex|
|000015f0| 70 61 6e 73 69 6f 6e 20 | 28 33 72 64 20 61 6e 64 |pansion |(3rd and|
|00001600| 20 34 74 68 20 63 6f 6c | 75 6d 6e 73 20 69 6e 0a | 4th col|umns in.|
|00001610| 5c 5b 65 64 69 74 2d 61 | 62 62 72 65 76 73 5d 20 |\[edit-a|bbrevs] |
|00001620| 20 62 75 66 66 65 72 3a | 20 22 22 20 20 63 6f 6d | buffer:| "" com|
|00001630| 6d 61 6e 64 2d 6e 61 6d | 65 29 2e 0a 0a 57 68 65 |mand-nam|e)...Whe|
|00001640| 6e 20 63 61 6c 6c 65 64 | 20 61 73 20 61 20 66 75 |n called| as a fu|
|00001650| 6e 63 74 69 6f 6e 2c 20 | 6f 70 74 69 6f 6e 61 6c |nction, |optional|
|00001660| 20 66 69 72 73 74 20 61 | 72 67 75 6d 65 6e 74 20 | first a|rgument |
|00001670| 53 54 52 20 6d 61 79 20 | 61 6c 73 6f 20 62 65 20 |STR may |also be |
|00001680| 61 20 73 74 72 69 6e 67 | 0a 77 68 69 63 68 20 77 |a string|.which w|
|00001690| 69 6c 6c 20 62 65 20 74 | 68 65 20 76 61 6c 75 65 |ill be t|he value|
|000016a0| 20 6f 66 20 60 73 74 72 | 27 20 77 68 65 72 65 61 | of `str|' wherea|
|000016b0| 73 20 74 68 65 20 73 6b | 65 6c 65 74 6f 6e 27 73 |s the sk|eleton's|
|000016c0| 20 69 6e 74 65 72 61 63 | 74 6f 72 20 69 73 20 74 | interac|tor is t|
|000016d0| 68 65 6e 0a 69 67 6e 6f | 72 65 64 2e 1f 0a 28 64 |hen.igno|red...(d|
|000016e0| 65 66 61 6c 69 61 73 20 | 27 73 6b 65 6c 65 74 6f |efalias |'skeleto|
|000016f0| 6e 2d 70 72 6f 78 79 20 | 23 5b 28 26 6f 70 74 69 |n-proxy |#[(&opti|
|00001700| 6f 6e 61 6c 20 73 74 72 | 20 61 72 67 29 20 22 c0 |onal str| arg) ".|
|00001710| c1 21 41 40 89 1a c3 61 | ab 88 c0 c4 21 41 40 12 |.!A@...a|....!A@.|
|00001720| aa 8b 5c 6e c5 61 ab 86 | c0 c6 21 41 40 12 0e 07 |..\n.a..|..!A@...|
|00001730| 5c 6e 4a 21 89 12 ac 90 | 0e 08 c9 73 ad e4 ca c1 |\nJ!....|...s....|
|00001740| 0e 0b 5c 22 89 16 0b aa | da cc 5c 6e 0e 08 cd 61 |..\"....|..\n...a|
|00001750| ae 84 0e 08 ce 61 89 16 | 0f 3f ad af 0e 10 ac 84 |.....a..|.?......|
|00001760| 0e 11 ab 8a d2 0e 10 ae | 82 0e 11 21 aa 9d 0e 13 |........|...!....|
|00001770| ad 99 0e 14 d5 61 ac 92 | d6 d7 21 ad 8e d6 d8 21 |.....a..|..!....!|
|00001780| ad 89 0e 17 ad 85 0e 18 | ad 81 d9 0e 1a 3b ad 82 |........|.....;..|
|00001790| 0e 1a 23 88 0e 0f ad 8c | 60 89 16 0f ad 86 db dc |..#.....|`.......|
|000017a0| cf dd de 24 29 87 22 20 | 5b 62 61 63 6b 74 72 61 |...$)." |[backtra|
|000017b0| 63 65 2d 66 72 61 6d 65 | 20 31 20 66 75 6e 63 74 |ce-frame| 1 funct|
|000017c0| 69 6f 6e 20 6e 74 68 20 | 35 20 62 79 74 65 2d 63 |ion nth |5 byte-c|
|000017d0| 6f 64 65 20 32 20 73 6b | 65 6c 65 74 6f 6e 2d 66 |ode 2 sk|eleton-f|
|000017e0| 69 6c 74 65 72 20 74 68 | 69 73 2d 63 6f 6d 6d 61 |ilter th|is-comma|
|000017f0| 6e 64 20 28 73 65 6c 66 | 2d 69 6e 73 65 72 74 2d |nd (self|-insert-|
|00001800| 63 6f 6d 6d 61 6e 64 20 | 73 6b 65 6c 65 74 6f 6e |command |skeleton|
|00001810| 2d 70 61 69 72 2d 69 6e | 73 65 72 74 2d 6d 61 79 |-pair-in|sert-may|
|00001820| 62 65 20 65 78 70 61 6e | 64 2d 61 62 62 72 65 76 |be expan|d-abbrev|
|00001830| 29 20 70 72 69 6d 69 74 | 69 76 65 2d 75 6e 64 6f |) primit|ive-undo|
|00001840| 20 62 75 66 66 65 72 2d | 75 6e 64 6f 2d 6c 69 73 | buffer-|undo-lis|
|00001850| 74 20 73 6b 65 6c 65 74 | 6f 6e 2d 69 6e 73 65 72 |t skelet|on-inser|
|00001860| 74 20 73 65 6c 66 2d 69 | 6e 73 65 72 74 2d 63 6f |t self-i|nsert-co|
|00001870| 6d 6d 61 6e 64 20 73 6b | 65 6c 65 74 6f 6e 2d 70 |mmand sk|eleton-p|
|00001880| 61 69 72 2d 69 6e 73 65 | 72 74 2d 6d 61 79 62 65 |air-inse|rt-maybe|
|00001890| 20 73 6b 65 6c 65 74 6f | 6e 2d 61 62 62 72 65 76 | skeleto|n-abbrev|
|000018a0| 2d 63 6c 65 61 6e 75 70 | 20 61 72 67 20 63 75 72 |-cleanup| arg cur|
|000018b0| 72 65 6e 74 2d 70 72 65 | 66 69 78 2d 61 72 67 20 |rent-pre|fix-arg |
|000018c0| 70 72 65 66 69 78 2d 6e | 75 6d 65 72 69 63 2d 76 |prefix-n|umeric-v|
|000018d0| 61 6c 75 65 20 73 6b 65 | 6c 65 74 6f 6e 2d 61 75 |alue ske|leton-au|
|000018e0| 74 6f 77 72 61 70 20 6c | 61 73 74 2d 63 6f 6d 6d |towrap l|ast-comm|
|000018f0| 61 6e 64 20 6d 6f 75 73 | 65 2d 64 72 61 67 2d 72 |and mous|e-drag-r|
|00001900| 65 67 69 6f 6e 20 62 6f | 75 6e 64 70 20 74 72 61 |egion bo|undp tra|
|00001910| 6e 73 69 65 6e 74 2d 6d | 61 72 6b 2d 6d 6f 64 65 |nsient-m|ark-mode|
|00001920| 20 6d 61 72 6b 2d 61 63 | 74 69 76 65 20 2d 31 20 | mark-ac|tive -1 |
|00001930| 73 74 72 20 61 64 64 2d | 68 6f 6f 6b 20 70 6f 73 |str add-|hook pos|
|00001940| 74 2d 63 6f 6d 6d 61 6e | 64 2d 68 6f 6f 6b 20 6e |t-comman|d-hook n|
|00001950| 69 6c 20 74 5d 20 36 20 | 28 23 24 20 2e 20 35 32 |il t] 6 |(#$ . 52|
|00001960| 37 38 29 20 22 2a 50 5c | 6e 50 22 5d 29 0a 23 40 |78) "*P\|nP"]).#@|
|00001970| 36 38 20 56 61 6c 75 65 | 20 66 6f 72 20 60 70 6f |68 Value| for `po|
|00001980| 73 74 2d 63 6f 6d 6d 61 | 6e 64 2d 68 6f 6f 6b 27 |st-comma|nd-hook'|
|00001990| 20 74 6f 20 72 65 6d 6f | 76 65 20 63 68 61 72 20 | to remo|ve char |
|000019a0| 74 68 61 74 20 65 78 70 | 61 6e 64 65 64 20 61 62 |that exp|anded ab|
|000019b0| 62 72 65 76 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |brev...(|defalias|
|000019c0| 20 27 73 6b 65 6c 65 74 | 6f 6e 2d 61 62 62 72 65 | 'skelet|on-abbre|
|000019d0| 76 2d 63 6c 65 61 6e 75 | 70 20 23 5b 28 26 72 65 |v-cleanu|p #[(&re|
|000019e0| 73 74 20 6c 69 73 74 29 | 20 22 08 a8 ad 8b 08 60 |st list)| ".....`|
|000019f0| 7c 88 c1 10 c2 c3 c0 c4 | 23 87 22 20 5b 73 6b 65 ||.......|#." [ske|
|00001a00| 6c 65 74 6f 6e 2d 61 62 | 62 72 65 76 2d 63 6c 65 |leton-ab|brev-cle|
|00001a10| 61 6e 75 70 20 6e 69 6c | 20 72 65 6d 6f 76 65 2d |anup nil| remove-|
|00001a20| 68 6f 6f 6b 20 70 6f 73 | 74 2d 63 6f 6d 6d 61 6e |hook pos|t-comman|
|00001a30| 64 2d 68 6f 6f 6b 20 74 | 5d 20 34 20 28 23 24 20 |d-hook t|] 4 (#$ |
|00001a40| 2e 20 36 35 31 35 29 5d | 29 0a 23 40 32 37 37 37 |. 6515)]|).#@2777|
|00001a50| 20 49 6e 73 65 72 74 20 | 74 68 65 20 63 6f 6d 70 | Insert |the comp|
|00001a60| 6c 65 78 20 73 74 61 74 | 65 6d 65 6e 74 20 73 6b |lex stat|ement sk|
|00001a70| 65 6c 65 74 6f 6e 20 53 | 4b 45 4c 45 54 4f 4e 20 |eleton S|KELETON |
|00001a80| 64 65 73 63 72 69 62 65 | 73 20 76 65 72 79 20 63 |describe|s very c|
|00001a90| 6f 6e 63 69 73 65 6c 79 | 2e 0a 0a 57 69 74 68 20 |oncisely|...With |
|00001aa0| 6f 70 74 69 6f 6e 61 6c | 20 74 68 69 72 64 20 52 |optional| third R|
|00001ab0| 45 47 49 4f 4e 53 20 77 | 72 61 70 20 66 69 72 73 |EGIONS w|rap firs|
|00001ac0| 74 20 69 6e 74 65 72 65 | 73 74 69 6e 67 20 70 6f |t intere|sting po|
|00001ad0| 69 6e 74 20 28 60 5f 27 | 29 20 69 6e 20 73 6b 65 |int (`_'|) in ske|
|00001ae0| 6c 65 74 6f 6e 0a 61 72 | 6f 75 6e 64 20 6e 65 78 |leton.ar|ound nex|
|00001af0| 74 20 52 45 47 49 4f 4e | 53 20 77 6f 72 64 73 2c |t REGION|S words,|
|00001b00| 20 69 66 20 52 45 47 49 | 4f 4e 53 20 69 73 20 70 | if REGI|ONS is p|
|00001b10| 6f 73 69 74 69 76 65 2e | 20 20 49 66 20 52 45 47 |ositive.| If REG|
|00001b20| 49 4f 4e 53 20 69 73 20 | 6e 65 67 61 74 69 76 65 |IONS is |negative|
|00001b30| 2c 0a 77 72 61 70 20 52 | 45 47 49 4f 4e 53 20 70 |,.wrap R|EGIONS p|
|00001b40| 72 65 63 65 64 69 6e 67 | 20 69 6e 74 65 72 72 65 |receding| interre|
|00001b50| 67 69 6f 6e 73 20 69 6e | 74 6f 20 66 69 72 73 74 |gions in|to first|
|00001b60| 20 52 45 47 49 4f 4e 53 | 20 69 6e 74 65 72 65 73 | REGIONS| interes|
|00001b70| 74 69 6e 67 20 70 6f 73 | 69 74 69 6f 6e 73 0a 28 |ting pos|itions.(|
|00001b80| 73 75 63 63 65 73 73 69 | 76 65 20 60 5f 27 73 29 |successi|ve `_'s)|
|00001b90| 20 69 6e 20 73 6b 65 6c | 65 74 6f 6e 2e 20 20 41 | in skel|eton. A|
|00001ba0| 6e 20 69 6e 74 65 72 72 | 65 67 69 6f 6e 20 69 73 |n interr|egion is|
|00001bb0| 20 74 68 65 20 73 74 72 | 65 74 63 68 20 6f 66 20 | the str|etch of |
|00001bc0| 74 65 78 74 20 62 65 74 | 77 65 65 6e 0a 74 77 6f |text bet|ween.two|
|00001bd0| 20 63 6f 6e 74 69 67 75 | 6f 75 73 20 6d 61 72 6b | contigu|ous mark|
|00001be0| 65 64 20 70 6f 69 6e 74 | 73 2e 20 20 49 66 20 79 |ed point|s. If y|
|00001bf0| 6f 75 20 6d 61 72 6b 65 | 64 20 41 20 42 20 43 20 |ou marke|d A B C |
|00001c00| 5b 5d 20 28 77 68 65 72 | 65 20 5b 5d 20 69 73 20 |[] (wher|e [] is |
|00001c10| 74 68 65 20 63 75 72 73 | 6f 72 29 0a 69 6e 20 61 |the curs|or).in a|
|00001c20| 6c 70 68 61 62 65 74 69 | 63 61 6c 20 6f 72 64 65 |lphabeti|cal orde|
|00001c30| 72 2c 20 74 68 65 20 33 | 20 69 6e 74 65 72 72 65 |r, the 3| interre|
|00001c40| 67 69 6f 6e 73 20 61 72 | 65 20 73 69 6d 70 6c 79 |gions ar|e simply|
|00001c50| 20 74 68 65 20 6c 61 73 | 74 20 33 20 72 65 67 69 | the las|t 3 regi|
|00001c60| 6f 6e 73 2e 20 20 42 75 | 74 0a 69 66 20 79 6f 75 |ons. Bu|t.if you|
|00001c70| 20 6d 61 72 6b 65 64 20 | 42 20 41 20 5b 5d 20 43 | marked |B A [] C|
|00001c80| 2c 20 74 68 65 20 69 6e | 74 65 72 72 65 67 69 6f |, the in|terregio|
|00001c90| 6e 73 20 61 72 65 20 42 | 2d 41 2c 20 41 2d 5b 5d |ns are B|-A, A-[]|
|00001ca0| 2c 20 5b 5d 2d 43 2e 0a | 0a 4f 70 74 69 6f 6e 61 |, []-C..|.Optiona|
|00001cb0| 6c 20 66 6f 75 72 74 68 | 20 53 54 52 20 69 73 20 |l fourth| STR is |
|00001cc0| 74 68 65 20 76 61 6c 75 | 65 20 66 6f 72 20 74 68 |the valu|e for th|
|00001cd0| 65 20 76 61 72 69 61 62 | 6c 65 20 60 73 74 72 27 |e variab|le `str'|
|00001ce0| 20 77 69 74 68 69 6e 20 | 74 68 65 20 73 6b 65 6c | within |the skel|
|00001cf0| 65 74 6f 6e 2e 0a 57 68 | 65 6e 20 74 68 69 73 20 |eton..Wh|en this |
|00001d00| 69 73 20 6e 6f 6e 2d 60 | 6e 69 6c 27 20 74 68 65 |is non-`|nil' the|
|00001d10| 20 69 6e 74 65 72 61 63 | 74 6f 72 20 67 65 74 73 | interac|tor gets|
|00001d20| 20 69 67 6e 6f 72 65 64 | 2c 20 61 6e 64 20 74 68 | ignored|, and th|
|00001d30| 69 73 20 73 68 6f 75 6c | 64 20 62 65 20 61 20 76 |is shoul|d be a v|
|00001d40| 61 6c 69 64 0a 73 6b 65 | 6c 65 74 6f 6e 20 65 6c |alid.ske|leton el|
|00001d50| 65 6d 65 6e 74 2e 0a 0a | 53 4b 45 4c 45 54 4f 4e |ement...|SKELETON|
|00001d60| 20 69 73 20 6d 61 64 65 | 20 75 70 20 61 73 20 28 | is made| up as (|
|00001d70| 49 4e 54 45 52 41 43 54 | 4f 52 20 45 4c 45 4d 45 |INTERACT|OR ELEME|
|00001d80| 4e 54 20 2e 2e 2e 29 2e | 20 20 49 4e 54 45 52 41 |NT ...).| INTERA|
|00001d90| 43 54 4f 52 20 6d 61 79 | 20 62 65 20 6e 69 6c 20 |CTOR may| be nil |
|00001da0| 69 66 0a 6e 6f 74 20 6e | 65 65 64 65 64 2c 20 61 |if.not n|eeded, a|
|00001db0| 20 70 72 6f 6d 70 74 2d | 73 74 72 69 6e 67 20 6f | prompt-|string o|
|00001dc0| 72 20 61 6e 20 65 78 70 | 72 65 73 73 69 6f 6e 20 |r an exp|ression |
|00001dd0| 66 6f 72 20 63 6f 6d 70 | 6c 65 78 20 72 65 61 64 |for comp|lex read|
|00001de0| 20 66 75 6e 63 74 69 6f | 6e 73 2e 0a 0a 49 66 20 | functio|ns...If |
|00001df0| 45 4c 45 4d 45 4e 54 20 | 69 73 20 61 20 73 74 72 |ELEMENT |is a str|
|00001e00| 69 6e 67 20 6f 72 20 61 | 20 63 68 61 72 61 63 74 |ing or a| charact|
|00001e10| 65 72 20 69 74 20 67 65 | 74 73 20 69 6e 73 65 72 |er it ge|ts inser|
|00001e20| 74 65 64 20 28 73 65 65 | 20 61 6c 73 6f 0a 60 73 |ted (see| also.`s|
|00001e30| 6b 65 6c 65 74 6f 6e 2d | 74 72 61 6e 73 66 6f 72 |keleton-|transfor|
|00001e40| 6d 61 74 69 6f 6e 27 29 | 2e 20 20 4f 74 68 65 72 |mation')|. Other|
|00001e50| 20 70 6f 73 73 69 62 69 | 6c 69 74 69 65 73 20 61 | possibi|lities a|
|00001e60| 72 65 3a 0a 0a 09 5c 6e | 09 67 6f 20 74 6f 20 6e |re:...\n|.go to n|
|00001e70| 65 78 74 20 6c 69 6e 65 | 20 61 6e 64 20 69 6e 64 |ext line| and ind|
|00001e80| 65 6e 74 20 61 63 63 6f | 72 64 69 6e 67 20 74 6f |ent acco|rding to|
|00001e90| 20 6d 6f 64 65 0a 09 5f | 09 69 6e 74 65 72 65 73 | mode.._|.interes|
|00001ea0| 74 69 6e 67 20 70 6f 69 | 6e 74 2c 20 69 6e 74 65 |ting poi|nt, inte|
|00001eb0| 72 72 65 67 69 6f 6e 20 | 68 65 72 65 2c 20 70 6f |rregion |here, po|
|00001ec0| 69 6e 74 20 61 66 74 65 | 72 20 74 65 72 6d 69 6e |int afte|r termin|
|00001ed0| 61 74 69 6f 6e 0a 09 3e | 09 69 6e 64 65 6e 74 20 |ation..>|.indent |
|00001ee0| 6c 69 6e 65 20 28 6f 72 | 20 69 6e 74 65 72 72 65 |line (or| interre|
|00001ef0| 67 69 6f 6e 20 69 66 20 | 3e 20 5f 29 20 61 63 63 |gion if |> _) acc|
|00001f00| 6f 72 64 69 6e 67 20 74 | 6f 20 6d 61 6a 6f 72 20 |ording t|o major |
|00001f10| 6d 6f 64 65 0a 09 26 09 | 64 6f 20 6e 65 78 74 20 |mode..&.|do next |
|00001f20| 45 4c 45 4d 45 4e 54 20 | 69 66 20 70 72 65 76 69 |ELEMENT |if previ|
|00001f30| 6f 75 73 20 6d 6f 76 65 | 64 20 70 6f 69 6e 74 0a |ous move|d point.|
|00001f40| 09 7c 09 64 6f 20 6e 65 | 78 74 20 45 4c 45 4d 45 |.|.do ne|xt ELEME|
|00001f50| 4e 54 20 69 66 20 70 72 | 65 76 69 6f 75 73 20 64 |NT if pr|evious d|
|00001f60| 69 64 6e 27 74 20 6d 6f | 76 65 20 70 6f 69 6e 74 |idn't mo|ve point|
|00001f70| 0a 09 2d 6e 75 6d 09 64 | 65 6c 65 74 65 20 6e 75 |..-num.d|elete nu|
|00001f80| 6d 20 70 72 65 63 65 64 | 69 6e 67 20 63 68 61 72 |m preced|ing char|
|00001f90| 61 63 74 65 72 73 20 28 | 73 65 65 20 60 73 6b 65 |acters (|see `ske|
|00001fa0| 6c 65 74 6f 6e 2d 75 6e | 74 61 62 69 66 79 27 29 |leton-un|tabify')|
|00001fb0| 0a 09 72 65 73 75 6d 65 | 3a 09 73 6b 69 70 70 65 |..resume|:.skippe|
|00001fc0| 64 2c 20 63 6f 6e 74 69 | 6e 75 65 20 68 65 72 65 |d, conti|nue here|
|00001fd0| 20 69 66 20 71 75 69 74 | 20 69 73 20 73 69 67 6e | if quit| is sign|
|00001fe0| 61 6c 65 64 0a 09 6e 69 | 6c 09 73 6b 69 70 70 65 |aled..ni|l.skippe|
|00001ff0| 64 0a 0a 46 75 72 74 68 | 65 72 20 65 6c 65 6d 65 |d..Furth|er eleme|
|00002000| 6e 74 73 20 63 61 6e 20 | 62 65 20 64 65 66 69 6e |nts can |be defin|
|00002010| 65 64 20 76 69 61 20 60 | 73 6b 65 6c 65 74 6f 6e |ed via `|skeleton|
|00002020| 2d 66 75 72 74 68 65 72 | 2d 65 6c 65 6d 65 6e 74 |-further|-element|
|00002030| 73 27 2e 20 20 45 4c 45 | 4d 45 4e 54 20 6d 61 79 |s'. ELE|MENT may|
|00002040| 0a 69 74 73 65 6c 66 20 | 62 65 20 61 20 53 4b 45 |.itself |be a SKE|
|00002050| 4c 45 54 4f 4e 20 77 69 | 74 68 20 61 6e 20 49 4e |LETON wi|th an IN|
|00002060| 54 45 52 41 43 54 4f 52 | 2e 20 20 54 68 65 20 75 |TERACTOR|. The u|
|00002070| 73 65 72 20 69 73 20 70 | 72 6f 6d 70 74 65 64 20 |ser is p|rompted |
|00002080| 72 65 70 65 61 74 65 64 | 6c 79 20 66 6f 72 0a 64 |repeated|ly for.d|
|00002090| 69 66 66 65 72 65 6e 74 | 20 69 6e 70 75 74 73 2e |ifferent| inputs.|
|000020a0| 20 20 54 68 65 20 53 4b | 45 4c 45 54 4f 4e 20 69 | The SK|ELETON i|
|000020b0| 73 20 70 72 6f 63 65 73 | 73 65 64 20 61 73 20 6f |s proces|sed as o|
|000020c0| 66 74 65 6e 20 61 73 20 | 74 68 65 20 75 73 65 72 |ften as |the user|
|000020d0| 20 65 6e 74 65 72 73 20 | 61 0a 6e 6f 6e 2d 65 6d | enters |a.non-em|
|000020e0| 70 74 79 20 73 74 72 69 | 6e 67 2e 20 20 5c 5b 6b |pty stri|ng. \[k|
|000020f0| 65 79 62 6f 61 72 64 2d | 71 75 69 74 5d 20 74 65 |eyboard-|quit] te|
|00002100| 72 6d 69 6e 61 74 65 73 | 20 73 6b 65 6c 65 74 6f |rminates| skeleto|
|00002110| 6e 20 69 6e 73 65 72 74 | 69 6f 6e 2c 20 62 75 74 |n insert|ion, but|
|00002120| 0a 63 6f 6e 74 69 6e 75 | 65 73 20 61 66 74 65 72 |.continu|es after|
|00002130| 20 60 72 65 73 75 6d 65 | 3a 27 20 61 6e 64 20 70 | `resume|:' and p|
|00002140| 6f 73 69 74 69 6f 6e 73 | 20 61 74 20 60 5f 27 20 |ositions| at `_' |
|00002150| 69 66 20 61 6e 79 2e 20 | 20 49 66 20 49 4e 54 45 |if any. | If INTE|
|00002160| 52 41 43 54 4f 52 20 69 | 6e 20 73 75 63 68 0a 61 |RACTOR i|n such.a|
|00002170| 20 73 75 62 73 6b 65 6c | 65 74 6f 6e 20 69 73 20 | subskel|eton is |
|00002180| 61 20 70 72 6f 6d 70 74 | 2d 73 74 72 69 6e 67 20 |a prompt|-string |
|00002190| 77 68 69 63 68 20 63 6f | 6e 74 61 69 6e 73 20 61 |which co|ntains a|
|000021a0| 20 22 2e 2e 20 25 73 20 | 2e 2e 22 20 69 74 20 69 | ".. %s |.." it i|
|000021b0| 73 0a 66 6f 72 6d 61 74 | 74 65 64 20 77 69 74 68 |s.format|ted with|
|000021c0| 20 60 73 6b 65 6c 65 74 | 6f 6e 2d 73 75 62 70 72 | `skelet|on-subpr|
|000021d0| 6f 6d 70 74 27 2e 20 20 | 53 75 63 68 20 61 6e 20 |ompt'. |Such an |
|000021e0| 49 4e 54 45 52 41 43 54 | 4f 52 20 6d 61 79 20 61 |INTERACT|OR may a|
|000021f0| 6c 73 6f 20 61 20 6c 69 | 73 74 20 6f 66 0a 73 74 |lso a li|st of.st|
|00002200| 72 69 6e 67 73 20 77 69 | 74 68 20 74 68 65 20 73 |rings wi|th the s|
|00002210| 75 62 73 6b 65 6c 65 74 | 6f 6e 20 62 65 69 6e 67 |ubskelet|on being|
|00002220| 20 72 65 70 65 61 74 65 | 64 20 6f 6e 63 65 20 66 | repeate|d once f|
|00002230| 6f 72 20 65 61 63 68 20 | 73 74 72 69 6e 67 2e 0a |or each |string..|
|00002240| 0a 51 75 6f 74 65 64 20 | 4c 69 73 70 20 65 78 70 |.Quoted |Lisp exp|
|00002250| 72 65 73 73 69 6f 6e 73 | 20 61 72 65 20 65 76 61 |ressions| are eva|
|00002260| 6c 75 61 74 65 64 20 65 | 76 61 6c 75 61 74 65 64 |luated e|valuated|
|00002270| 20 66 6f 72 20 74 68 65 | 69 72 20 73 69 64 65 2d | for the|ir side-|
|00002280| 65 66 66 65 63 74 2e 0a | 4f 74 68 65 72 20 4c 69 |effect..|Other Li|
|00002290| 73 70 20 65 78 70 72 65 | 73 73 69 6f 6e 73 20 61 |sp expre|ssions a|
|000022a0| 72 65 20 65 76 61 6c 75 | 61 74 65 64 20 61 6e 64 |re evalu|ated and|
|000022b0| 20 74 68 65 20 76 61 6c | 75 65 20 74 72 65 61 74 | the val|ue treat|
|000022c0| 65 64 20 61 73 20 61 62 | 6f 76 65 2e 0a 4e 6f 74 |ed as ab|ove..Not|
|000022d0| 65 20 74 68 61 74 20 65 | 78 70 72 65 73 73 69 6f |e that e|xpressio|
|000022e0| 6e 73 20 6d 61 79 20 6e | 6f 74 20 72 65 74 75 72 |ns may n|ot retur|
|000022f0| 6e 20 60 74 27 20 73 69 | 6e 63 65 20 74 68 69 73 |n `t' si|nce this|
|00002300| 20 69 6d 70 6c 69 65 73 | 20 61 6e 0a 65 6e 64 6c | implies| an.endl|
|00002310| 65 73 73 20 6c 6f 6f 70 | 2e 20 20 4d 6f 64 65 73 |ess loop|. Modes|
|00002320| 20 63 61 6e 20 64 65 66 | 69 6e 65 20 6f 74 68 65 | can def|ine othe|
|00002330| 72 20 73 79 6d 62 6f 6c | 73 20 62 79 20 6c 6f 63 |r symbol|s by loc|
|00002340| 61 6c 6c 79 20 73 65 74 | 74 69 6e 67 20 74 68 65 |ally set|ting the|
|00002350| 6d 0a 74 6f 20 61 6e 79 | 20 76 61 6c 69 64 20 73 |m.to any| valid s|
|00002360| 6b 65 6c 65 74 6f 6e 20 | 65 6c 65 6d 65 6e 74 2e |keleton |element.|
|00002370| 20 20 54 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 | The fo|llowing |
|00002380| 6c 6f 63 61 6c 20 76 61 | 72 69 61 62 6c 65 73 20 |local va|riables |
|00002390| 61 72 65 0a 61 76 61 69 | 6c 61 62 6c 65 3a 0a 0a |are.avai|lable:..|
|000023a0| 09 73 74 72 09 66 69 72 | 73 74 20 74 69 6d 65 3a |.str.fir|st time:|
|000023b0| 20 72 65 61 64 20 61 20 | 73 74 72 69 6e 67 20 61 | read a |string a|
|000023c0| 63 63 6f 72 64 69 6e 67 | 20 74 6f 20 49 4e 54 45 |ccording| to INTE|
|000023d0| 52 41 43 54 4f 52 0a 09 | 09 74 68 65 6e 3a 20 69 |RACTOR..|.then: i|
|000023e0| 6e 73 65 72 74 20 70 72 | 65 76 69 6f 75 73 6c 79 |nsert pr|eviously|
|000023f0| 20 72 65 61 64 20 73 74 | 72 69 6e 67 20 6f 6e 63 | read st|ring onc|
|00002400| 65 20 6d 6f 72 65 0a 09 | 68 65 6c 70 09 68 65 6c |e more..|help.hel|
|00002410| 70 2d 66 6f 72 6d 20 64 | 75 72 69 6e 67 20 69 6e |p-form d|uring in|
|00002420| 74 65 72 61 63 74 69 6f | 6e 20 77 69 74 68 20 74 |teractio|n with t|
|00002430| 68 65 20 75 73 65 72 20 | 6f 72 20 60 6e 69 6c 27 |he user |or `nil'|
|00002440| 0a 09 69 6e 70 75 74 09 | 69 6e 69 74 69 61 6c 20 |..input.|initial |
|00002450| 69 6e 70 75 74 20 28 73 | 74 72 69 6e 67 20 6f 72 |input (s|tring or|
|00002460| 20 63 6f 6e 73 20 77 69 | 74 68 20 69 6e 64 65 78 | cons wi|th index|
|00002470| 29 20 77 68 69 6c 65 20 | 72 65 61 64 69 6e 67 20 |) while |reading |
|00002480| 73 74 72 0a 09 76 31 2c | 20 76 32 09 6c 6f 63 61 |str..v1,| v2.loca|
|00002490| 6c 20 76 61 72 69 61 62 | 6c 65 73 20 66 6f 72 20 |l variab|les for |
|000024a0| 6d 65 6d 6f 72 69 7a 69 | 6e 67 20 61 6e 79 74 68 |memorizi|ng anyth|
|000024b0| 69 6e 67 20 79 6f 75 20 | 77 61 6e 74 0a 0a 57 68 |ing you |want..Wh|
|000024c0| 65 6e 20 64 6f 6e 65 20 | 77 69 74 68 20 73 6b 65 |en done |with ske|
|000024d0| 6c 65 74 6f 6e 2c 20 62 | 75 74 20 62 65 66 6f 72 |leton, b|ut befor|
|000024e0| 65 20 67 6f 69 6e 67 20 | 62 61 63 6b 20 74 6f 20 |e going |back to |
|000024f0| 60 5f 27 2d 70 6f 69 6e | 74 20 63 61 6c 6c 0a 60 |`_'-poin|t call.`|
|00002500| 73 6b 65 6c 65 74 6f 6e | 2d 65 6e 64 2d 68 6f 6f |skeleton|-end-hoo|
|00002510| 6b 27 20 69 66 20 74 68 | 61 74 20 69 73 20 6e 6f |k' if th|at is no|
|00002520| 6e 2d 60 6e 69 6c 27 2e | 1f 0a 28 64 65 66 61 6c |n-`nil'.|..(defal|
|00002530| 69 61 73 20 27 73 6b 65 | 6c 65 74 6f 6e 2d 69 6e |ias 'ske|leton-in|
|00002540| 73 65 72 74 20 23 5b 28 | 73 6b 65 6c 65 74 6f 6e |sert #[(|skeleton|
|00002550| 20 26 6f 70 74 69 6f 6e | 61 6c 20 73 6b 65 6c 65 | &option|al skele|
|00002560| 74 6f 6e 2d 72 65 67 69 | 6f 6e 73 20 73 74 72 29 |ton-regi|ons str)|
|00002570| 20 22 08 ab c8 08 c1 56 | ab 8c c2 20 8a 08 76 88 | ".....V|... ..v.|
|00002580| c2 20 29 44 aa ab 08 5b | 10 c3 20 0c 42 c2 20 43 |. )D...[|.. .B. C|
|00002590| 1d 89 1e 06 ab 96 08 c1 | 56 ab 91 0e 06 40 0d 42 |........|V....@.B|
|000025a0| 15 08 53 10 0e 06 41 89 | 16 06 ac 6a c7 0d c8 5c |..S...A.|...j...\|
|000025b0| 22 2a 89 10 ab 88 08 40 | 62 ab 83 08 41 10 60 c9 |"*.....@|b...A.`.|
|000025c0| 89 89 89 89 89 89 1e 5c | 6e 1e 0b 1e 0c 1e 0d 1e |.......\|n.......|
|000025d0| 0e 1e 0f 1e 10 1e 11 d2 | 8e d3 d4 0e 15 d6 42 42 |........|......BB|
|000025e0| 21 2e 09 87 22 20 5b 73 | 6b 65 6c 65 74 6f 6e 2d |!..." [s|keleton-|
|000025f0| 72 65 67 69 6f 6e 73 20 | 30 20 70 6f 69 6e 74 2d |regions |0 point-|
|00002600| 6d 61 72 6b 65 72 20 6d | 61 72 6b 2d 6d 61 72 6b |marker m|ark-mark|
|00002610| 65 72 20 6d 61 72 6b 2d | 72 69 6e 67 20 6c 32 20 |er mark-|ring l2 |
|00002620| 6c 31 20 73 6f 72 74 20 | 3c 20 6e 69 6c 20 76 32 |l1 sort |< nil v2|
|00002630| 20 76 31 20 69 6e 70 75 | 74 20 68 65 6c 70 20 72 | v1 inpu|t help r|
|00002640| 65 73 75 6d 65 3a 20 73 | 6b 65 6c 65 74 6f 6e 2d |esume: s|keleton-|
|00002650| 70 6f 69 6e 74 20 73 6b | 65 6c 65 74 6f 6e 2d 6d |point sk|eleton-m|
|00002660| 6f 64 69 66 69 65 64 20 | 62 65 67 20 28 28 62 79 |odified |beg ((by|
|00002670| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 21 88 c2 c3 21 |te-code |"..!...!|
|00002680| 88 c4 0d 21 ac 87 0d 62 | 88 c6 c3 21 88 0e 07 ab |...!...b|...!....|
|00002690| 84 0e 07 62 88 c0 87 22 | 20 5b 72 75 6e 2d 68 6f |...b..."| [run-ho|
|000026a0| 6f 6b 73 20 73 6b 65 6c | 65 74 6f 6e 2d 65 6e 64 |oks skel|eton-end|
|000026b0| 2d 68 6f 6f 6b 20 73 69 | 74 2d 66 6f 72 20 30 20 |-hook si|t-for 0 |
|000026c0| 70 6f 73 2d 76 69 73 69 | 62 6c 65 2d 69 6e 2d 77 |pos-visi|ble-in-w|
|000026d0| 69 6e 64 6f 77 2d 70 20 | 62 65 67 20 72 65 63 65 |indow-p |beg rece|
|000026e0| 6e 74 65 72 20 73 6b 65 | 6c 65 74 6f 6e 2d 70 6f |nter ske|leton-po|
|000026f0| 69 6e 74 5d 20 32 29 29 | 20 65 76 61 6c 20 6c 65 |int] 2))| eval le|
|00002700| 74 20 73 6b 65 6c 65 74 | 6f 6e 2d 66 75 72 74 68 |t skelet|on-furth|
|00002710| 65 72 2d 65 6c 65 6d 65 | 6e 74 73 20 28 28 73 6b |er-eleme|nts ((sk|
|00002720| 65 6c 65 74 6f 6e 2d 69 | 6e 74 65 72 6e 61 6c 2d |eleton-i|nternal-|
|00002730| 6c 69 73 74 20 73 6b 65 | 6c 65 74 6f 6e 20 73 74 |list ske|leton st|
|00002740| 72 29 29 5d 20 39 20 28 | 23 24 20 2e 20 36 37 33 |r))] 9 (|#$ . 673|
|00002750| 37 29 5d 29 0a 23 40 35 | 30 39 20 46 75 6e 63 74 |7)]).#@5|09 Funct|
|00002760| 69 6f 6e 20 66 6f 72 20 | 72 65 61 64 69 6e 67 20 |ion for |reading |
|00002770| 61 20 73 74 72 69 6e 67 | 20 66 72 6f 6d 20 74 68 |a string| from th|
|00002780| 65 20 6d 69 6e 69 62 75 | 66 66 65 72 20 77 69 74 |e minibu|ffer wit|
|00002790| 68 69 6e 20 73 6b 65 6c | 65 74 6f 6e 73 2e 0a 50 |hin skel|etons..P|
|000027a0| 52 4f 4d 50 54 20 6d 61 | 79 20 63 6f 6e 74 61 69 |ROMPT ma|y contai|
|000027b0| 6e 20 61 20 60 25 73 27 | 20 77 68 69 63 68 20 77 |n a `%s'| which w|
|000027c0| 69 6c 6c 20 62 65 20 72 | 65 70 6c 61 63 65 64 20 |ill be r|eplaced |
|000027d0| 62 79 20 60 73 6b 65 6c | 65 74 6f 6e 2d 73 75 62 |by `skel|eton-sub|
|000027e0| 70 72 6f 6d 70 74 27 2e | 0a 49 66 20 6e 6f 6e 2d |prompt'.|.If non-|
|000027f0| 60 6e 69 6c 27 20 73 65 | 63 6f 6e 64 20 61 72 67 |`nil' se|cond arg|
|00002800| 20 49 4e 49 54 49 41 4c | 2d 49 4e 50 55 54 20 6f | INITIAL|-INPUT o|
|00002810| 72 20 76 61 72 69 61 62 | 6c 65 20 60 69 6e 70 75 |r variab|le `inpu|
|00002820| 74 27 20 69 73 20 61 20 | 73 74 72 69 6e 67 20 6f |t' is a |string o|
|00002830| 72 0a 63 6f 6e 73 20 77 | 69 74 68 20 69 6e 64 65 |r.cons w|ith inde|
|00002840| 78 20 74 6f 20 69 6e 73 | 65 72 74 20 62 65 66 6f |x to ins|ert befo|
|00002850| 72 65 20 72 65 61 64 69 | 6e 67 2e 20 20 49 66 20 |re readi|ng. If |
|00002860| 74 68 69 72 64 20 61 72 | 67 20 52 45 43 55 52 53 |third ar|g RECURS|
|00002870| 49 56 45 20 69 73 20 6e | 6f 6e 2d 60 6e 69 6c 27 |IVE is n|on-`nil'|
|00002880| 0a 69 2e 65 2e 20 77 65 | 20 61 72 65 20 68 61 6e |.i.e. we| are han|
|00002890| 64 6c 69 6e 67 20 74 68 | 65 20 69 74 65 72 61 74 |dling th|e iterat|
|000028a0| 6f 72 20 6f 66 20 61 20 | 73 75 62 73 6b 65 6c 65 |or of a |subskele|
|000028b0| 74 6f 6e 2c 20 72 65 74 | 75 72 6e 73 20 65 6d 70 |ton, ret|urns emp|
|000028c0| 74 79 20 73 74 72 69 6e | 67 20 69 66 0a 75 73 65 |ty strin|g if.use|
|000028d0| 72 20 64 69 64 6e 27 74 | 20 6d 6f 64 69 66 79 20 |r didn't| modify |
|000028e0| 69 6e 70 75 74 2e 0a 57 | 68 69 6c 65 20 72 65 61 |input..W|hile rea|
|000028f0| 64 69 6e 67 2c 20 74 68 | 65 20 76 61 6c 75 65 20 |ding, th|e value |
|00002900| 6f 66 20 60 6d 69 6e 69 | 62 75 66 66 65 72 2d 68 |of `mini|buffer-h|
|00002910| 65 6c 70 2d 66 6f 72 6d | 27 20 69 73 20 76 61 72 |elp-form|' is var|
|00002920| 69 61 62 6c 65 20 60 68 | 65 6c 70 27 20 69 66 20 |iable `h|elp' if |
|00002930| 74 68 61 74 0a 69 73 20 | 6e 6f 6e 2d 60 6e 69 6c |that.is |non-`nil|
|00002940| 27 20 6f 72 20 61 20 64 | 65 66 61 75 6c 74 20 73 |' or a d|efault s|
|00002950| 74 72 69 6e 67 2e 1f 0a | 28 64 65 66 61 6c 69 61 |tring...|(defalia|
|00002960| 73 20 27 73 6b 65 6c 65 | 74 6f 6e 2d 72 65 61 64 |s 'skele|ton-read|
|00002970| 20 23 5b 28 73 74 72 20 | 26 6f 70 74 69 6f 6e 61 | #[(str |&optiona|
|00002980| 6c 20 69 6e 69 74 69 61 | 6c 2d 69 6e 70 75 74 20 |l initia|l-input |
|00002990| 72 65 63 75 72 73 69 76 | 65 29 20 22 c0 c1 21 ab |recursiv|e) "..!.|
|000029a0| 84 c1 4a ae 87 5c 6e ab | 83 c3 aa 81 c4 6c 1d 1e |..J..\n.|.....l..|
|000029b0| 06 0d ac 84 c7 c8 21 88 | c9 8e 0e 5c 6e 3b ab 93 |......!.|...\n;..|
|000029c0| cb cc 0e 5c 6e 0e 0d 5c | 22 0e 0e ae 82 cf 4a 89 |...\n..\|".....J.|
|000029d0| 16 0e 5c 22 aa 84 d0 0e | 5c 6e 21 16 5c 6e 2b 5c |..\"....|\n!.\n+\|
|000029e0| 6e ab 9e 0e 5c 6e ab 95 | 0e 5c 6e d1 98 ac 8f 0e |n...\n..|.\n.....|
|000029f0| 5c 6e 0e 0e 6b ac 88 0e | 5c 6e 0e 0e a2 6b ab 85 |\n..k...|\n...k..|
|00002a00| d2 d3 d4 5c 22 87 0e 5c | 6e 87 22 20 5b 62 6f 75 |...\"..\|n." [bou|
|00002a10| 6e 64 70 20 68 65 6c 70 | 20 72 65 63 75 72 73 69 |ndp help| recursi|
|00002a20| 76 65 20 22 41 73 20 6c | 6f 6e 67 20 61 73 20 79 |ve "As l|ong as y|
|00002a30| 6f 75 20 70 72 6f 76 69 | 64 65 20 69 6e 70 75 74 |ou provi|de input|
|00002a40| 20 79 6f 75 20 77 69 6c | 6c 20 69 6e 73 65 72 74 | you wil|l insert|
|00002a50| 20 61 6e 6f 74 68 65 72 | 20 73 75 62 73 6b 65 6c | another| subskel|
|00002a60| 65 74 6f 6e 2e 5c 6e 5c | 6e 49 66 20 79 6f 75 20 |eton.\n\|nIf you |
|00002a70| 65 6e 74 65 72 20 74 68 | 65 20 65 6d 70 74 79 20 |enter th|e empty |
|00002a80| 73 74 72 69 6e 67 2c 20 | 74 68 65 20 6c 6f 6f 70 |string, |the loop|
|00002a90| 20 69 6e 73 65 72 74 69 | 6e 67 20 73 75 62 73 6b | inserti|ng subsk|
|00002aa0| 65 6c 65 74 6f 6e 73 20 | 69 73 5c 6e 6c 65 66 74 |eletons |is\nleft|
|00002ab0| 2c 20 61 6e 64 20 74 68 | 65 20 63 75 72 72 65 6e |, and th|e curren|
|00002ac0| 74 20 6f 6e 65 20 69 73 | 20 72 65 6d 6f 76 65 64 |t one is| removed|
|00002ad0| 20 61 73 20 66 61 72 20 | 61 73 20 69 74 20 68 61 | as far |as it ha|
|00002ae0| 73 20 62 65 65 6e 20 65 | 6e 74 65 72 65 64 2e 5c |s been e|ntered.\|
|00002af0| 6e 5c 6e 49 66 20 79 6f | 75 20 71 75 69 74 2c 20 |n\nIf yo|u quit, |
|00002b00| 74 68 65 20 63 75 72 72 | 65 6e 74 20 73 75 62 73 |the curr|ent subs|
|00002b10| 6b 65 6c 65 74 6f 6e 20 | 69 73 20 72 65 6d 6f 76 |keleton |is remov|
|00002b20| 65 64 20 61 73 20 66 61 | 72 20 61 73 20 69 74 20 |ed as fa|r as it |
|00002b30| 68 61 73 20 62 65 65 6e | 5c 6e 65 6e 74 65 72 65 |has been|\nentere|
|00002b40| 64 2e 20 20 4e 6f 20 6d | 6f 72 65 20 6f 66 20 74 |d. No m|ore of t|
|00002b50| 68 65 20 73 6b 65 6c 65 | 74 6f 6e 20 77 69 6c 6c |he skele|ton will|
|00002b60| 20 62 65 20 69 6e 73 65 | 72 74 65 64 2c 20 65 78 | be inse|rted, ex|
|00002b70| 63 65 70 74 20 6d 61 79 | 62 65 20 66 6f 72 20 61 |cept may|be for a|
|00002b80| 5c 6e 73 79 6e 74 61 63 | 74 69 63 61 6c 6c 79 20 |\nsyntac|tically |
|00002b90| 6e 65 63 65 73 73 61 72 | 79 20 74 65 72 6d 69 6e |necessar|y termin|
|00002ba0| 61 74 69 6f 6e 2e 22 20 | 22 59 6f 75 20 61 72 65 |ation." |"You are|
|00002bb0| 20 69 6e 73 65 72 74 69 | 6e 67 20 61 20 73 6b 65 | inserti|ng a ske|
|00002bc0| 6c 65 74 6f 6e 2e 20 20 | 53 74 61 6e 64 61 72 64 |leton. |Standard|
|00002bd0| 20 74 65 78 74 20 67 65 | 74 73 20 69 6e 73 65 72 | text ge|ts inser|
|00002be0| 74 65 64 20 69 6e 74 6f | 20 74 68 65 20 62 75 66 |ted into| the buf|
|00002bf0| 66 65 72 5c 6e 61 75 74 | 6f 6d 61 74 69 63 61 6c |fer\naut|omatical|
|00002c00| 6c 79 2c 20 61 6e 64 20 | 79 6f 75 20 61 72 65 20 |ly, and |you are |
|00002c10| 70 72 6f 6d 70 74 65 64 | 20 74 6f 20 66 69 6c 6c |prompted| to fill|
|00002c20| 20 69 6e 20 74 68 65 20 | 76 61 72 69 61 62 6c 65 | in the |variable|
|00002c30| 20 70 61 72 74 73 2e 22 | 20 65 6f 6c 70 20 6d 69 | parts."| eolp mi|
|00002c40| 6e 69 62 75 66 66 65 72 | 2d 68 65 6c 70 2d 66 6f |nibuffer|-help-fo|
|00002c50| 72 6d 20 6f 70 65 6e 2d | 6c 69 6e 65 20 31 20 28 |rm open-|line 1 (|
|00002c60| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 ac 84 c1 |(byte-co|de "....|
|00002c70| c2 21 88 c1 87 22 20 5b | 65 6f 6c 70 20 64 65 6c |.!..." [|eolp del|
|00002c80| 65 74 65 2d 63 68 61 72 | 20 31 5d 20 32 29 29 20 |ete-char| 1] 2)) |
|00002c90| 73 74 72 20 72 65 61 64 | 2d 73 74 72 69 6e 67 20 |str read|-string |
|00002ca0| 66 6f 72 6d 61 74 20 73 | 6b 65 6c 65 74 6f 6e 2d |format s|keleton-|
|00002cb0| 73 75 62 70 72 6f 6d 70 | 74 20 69 6e 69 74 69 61 |subpromp|t initia|
|00002cc0| 6c 2d 69 6e 70 75 74 20 | 69 6e 70 75 74 20 65 76 |l-input |input ev|
|00002cd0| 61 6c 20 22 22 20 73 69 | 67 6e 61 6c 20 71 75 69 |al "" si|gnal qui|
|00002ce0| 74 20 74 5d 20 34 20 28 | 23 24 20 2e 20 31 30 30 |t t] 4 (|#$ . 100|
|00002cf0| 37 35 29 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |75)]).(d|efalias |
|00002d00| 27 73 6b 65 6c 65 74 6f | 6e 2d 69 6e 74 65 72 6e |'skeleto|n-intern|
|00002d10| 61 6c 2d 6c 69 73 74 20 | 23 5b 28 73 6b 65 6c 65 |al-list |#[(skele|
|00002d20| 74 6f 6e 20 26 6f 70 74 | 69 6f 6e 61 6c 20 73 74 |ton &opt|ional st|
|00002d30| 72 20 72 65 63 75 72 73 | 69 76 65 29 20 22 8a c0 |r recurs|ive) "..|
|00002d40| 79 88 60 29 19 69 1a 09 | 8a c3 7f 88 60 29 7b 1c |y.`).i..|....`){.|
|00002d50| c3 1d 0e 06 ac 8f c7 c6 | c8 c9 0e 5c 6e 40 44 c3 |........|...\n@D.|
|00002d60| 0e 0b 46 45 16 06 0d 60 | 61 16 0c 60 15 0e 5c 6e |..FE...`|a..`..\n|
|00002d70| 41 89 16 5c 6e ab 87 cd | ce cf 8f 88 aa 6a 2c 0e |A..\n...|.....j,.|
|00002d80| 0b cd 61 ab 85 d0 cd cb | 5c 22 87 0e 0b 87 22 20 |..a.....|\"...." |
|00002d90| 5b 30 20 73 74 61 72 74 | 20 63 6f 6c 75 6d 6e 20 |[0 start| column |
|00002da0| 6e 69 6c 20 6c 69 6e 65 | 20 6f 70 6f 69 6e 74 20 |nil line| opoint |
|00002db0| 73 74 72 20 73 65 74 71 | 20 73 6b 65 6c 65 74 6f |str setq| skeleto|
|00002dc0| 6e 2d 72 65 61 64 20 71 | 75 6f 74 65 20 73 6b 65 |n-read q|uote ske|
|00002dd0| 6c 65 74 6f 6e 20 72 65 | 63 75 72 73 69 76 65 20 |leton re|cursive |
|00002de0| 73 6b 65 6c 65 74 6f 6e | 2d 6d 6f 64 69 66 69 65 |skeleton|-modifie|
|00002df0| 64 20 71 75 69 74 20 28 | 62 79 74 65 2d 63 6f 64 |d quit (|byte-cod|
|00002e00| 65 20 22 c0 09 40 21 87 | 22 20 5b 73 6b 65 6c 65 |e "..@!.|" [skele|
|00002e10| 74 6f 6e 2d 69 6e 74 65 | 72 6e 61 6c 2d 31 20 73 |ton-inte|rnal-1 s|
|00002e20| 6b 65 6c 65 74 6f 6e 5d | 20 32 29 20 28 28 71 75 |keleton]| 2) ((qu|
|00002e30| 69 74 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |it (byte|-code ".|
|00002e40| 41 c1 61 ab 88 c0 11 c2 | 0b 73 13 aa 9f c4 7f 88 |A.a.....|.s......|
|00002e50| 0d 60 7c 88 0e 06 63 88 | c7 0e 08 21 88 08 41 ab |.`|...c.|...!..A.|
|00002e60| 86 c4 13 c4 11 aa 85 c9 | c0 c1 5c 22 88 c4 87 22 |........|..\"..."|
|00002e70| 20 5b 71 75 69 74 20 72 | 65 63 75 72 73 69 76 65 | [quit r|ecursive|
|00002e80| 20 72 65 73 75 6d 65 3a | 20 73 6b 65 6c 65 74 6f | resume:| skeleto|
|00002e90| 6e 20 6e 69 6c 20 73 74 | 61 72 74 20 6c 69 6e 65 |n nil st|art line|
|00002ea0| 20 6d 6f 76 65 2d 74 6f | 2d 63 6f 6c 75 6d 6e 20 | move-to|-column |
|00002eb0| 63 6f 6c 75 6d 6e 20 73 | 69 67 6e 61 6c 5d 20 33 |column s|ignal] 3|
|00002ec0| 29 29 29 20 73 69 67 6e | 61 6c 5d 20 36 5d 29 0a |))) sign|al] 6]).|
|00002ed0| 28 64 65 66 61 6c 69 61 | 73 20 27 73 6b 65 6c 65 |(defalia|s 'skele|
|00002ee0| 74 6f 6e 2d 69 6e 74 65 | 72 6e 61 6c 2d 31 20 23 |ton-inte|rnal-1 #|
|00002ef0| 5b 28 65 6c 65 6d 65 6e | 74 20 26 6f 70 74 69 6f |[(elemen|t &optio|
|00002f00| 6e 61 6c 20 6c 69 74 65 | 72 61 6c 29 20 22 08 a8 |nal lite|ral) "..|
|00002f10| ac 85 c1 08 21 ab a8 08 | a8 ab 92 08 c2 57 ab 8d |....!...|.....W..|
|00002f20| 0b ab 85 c4 08 5b 21 87 | c5 08 5b 21 87 c6 0e 07 |.....[!.|..[!....|
|00002f30| ab 8a 0e 08 ac 86 0e 07 | 08 21 aa 81 08 21 87 08 |........|.!...!..|
|00002f40| c9 61 ab ab 0e 5c 6e ab | 96 0e 0b 41 40 cc 61 ab |.a...\n.|...A@.a.|
|00002f50| 8e 6c ac 83 cd 20 88 ce | 60 0e 5c 6e 40 cf 23 87 |.l... ..|`.\n@.#.|
|00002f60| 0e 10 ab 87 d1 20 cd 20 | 88 6a 87 cd 20 88 d2 20 |..... . |.j.. .. |
|00002f70| 87 08 d3 61 ab 97 0e 5c | 6e ab 90 0e 0b 41 40 cc |...a...\|n....A@.|
|00002f80| 61 ab 88 ce 60 0e 5c 6e | 40 cf 23 87 d2 20 87 08 |a...`.\n|@.#.. ..|
|00002f90| cc 61 ab a8 0e 5c 6e ab | 9b 0e 5c 6e 40 62 88 0e |.a...\n.|..\n@b..|
|00002fa0| 5c 6e 41 16 5c 6e 69 d1 | 20 58 ad 93 0e 0b 41 40 |\nA.\ni.| X....A@|
|00002fb0| c9 61 ad 8b c2 7f 87 0e | 14 ae 84 60 89 16 14 87 |.a......|...`....|
|00002fc0| 08 d5 61 ab 8b 0e 16 ad | de 0e 0b 41 89 16 0b 87 |..a.....|...A....|
|00002fd0| 08 d7 61 ab 8b 0e 16 ae | ce 0e 0b 41 89 16 0b 87 |..a.....|...A....|
|00002fe0| 08 a2 d8 61 ab 86 d9 08 | 41 40 21 87 08 a2 3b ac |...a....|A@!...;.|
|00002ff0| 85 08 a2 3a ab a7 08 40 | a2 39 ab 89 da 08 cf db |...:...@|.9......|
|00003000| 23 ad 99 aa 77 08 40 89 | 16 08 ad 90 da 08 0e 08 |#...w.@.|........|
|00003010| 40 5c 22 88 0e 08 41 89 | 16 08 ac 71 cf 87 08 3f |@\"...A.|...q...?|
|00003020| ae 86 dc d9 08 21 db 5c | 22 87 22 20 5b 65 6c 65 |.....!.\|"." [ele|
|00003030| 6d 65 6e 74 20 63 68 61 | 72 2d 6f 72 2d 73 74 72 |ment cha|r-or-str|
|00003040| 69 6e 67 2d 70 20 30 20 | 73 6b 65 6c 65 74 6f 6e |ing-p 0 |skeleton|
|00003050| 2d 75 6e 74 61 62 69 66 | 79 20 62 61 63 6b 77 61 |-untabif|y backwa|
|00003060| 72 64 2d 64 65 6c 65 74 | 65 2d 63 68 61 72 2d 75 |rd-delet|e-char-u|
|00003070| 6e 74 61 62 69 66 79 20 | 64 65 6c 65 74 65 2d 62 |ntabify |delete-b|
|00003080| 61 63 6b 77 61 72 64 2d | 63 68 61 72 20 69 6e 73 |ackward-|char ins|
|00003090| 65 72 74 2d 62 65 66 6f | 72 65 2d 6d 61 72 6b 65 |ert-befo|re-marke|
|000030a0| 72 73 20 73 6b 65 6c 65 | 74 6f 6e 2d 74 72 61 6e |rs skele|ton-tran|
|000030b0| 73 66 6f 72 6d 61 74 69 | 6f 6e 20 6c 69 74 65 72 |sformati|on liter|
|000030c0| 61 6c 20 6e 20 73 6b 65 | 6c 65 74 6f 6e 2d 72 65 |al n ske|leton-re|
|000030d0| 67 69 6f 6e 73 20 73 6b | 65 6c 65 74 6f 6e 20 5f |gions sk|eleton _|
|000030e0| 20 6e 65 77 6c 69 6e 65 | 20 69 6e 64 65 6e 74 2d | newline| indent-|
|000030f0| 72 65 67 69 6f 6e 20 6e | 69 6c 20 73 6b 65 6c 65 |region n|il skele|
|00003100| 74 6f 6e 2d 6e 65 77 6c | 69 6e 65 2d 69 6e 64 65 |ton-newl|ine-inde|
|00003110| 6e 74 2d 72 69 67 69 64 | 6c 79 20 63 75 72 72 65 |nt-rigid|ly curre|
|00003120| 6e 74 2d 69 6e 64 65 6e | 74 61 74 69 6f 6e 20 69 |nt-inden|tation i|
|00003130| 6e 64 65 6e 74 2d 61 63 | 63 6f 72 64 69 6e 67 2d |ndent-ac|cording-|
|00003140| 74 6f 2d 6d 6f 64 65 20 | 3e 20 73 6b 65 6c 65 74 |to-mode |> skelet|
|00003150| 6f 6e 2d 70 6f 69 6e 74 | 20 26 20 73 6b 65 6c 65 |on-point| & skele|
|00003160| 74 6f 6e 2d 6d 6f 64 69 | 66 69 65 64 20 7c 20 71 |ton-modi|fied | q|
|00003170| 75 6f 74 65 20 65 76 61 | 6c 20 73 6b 65 6c 65 74 |uote eva|l skelet|
|00003180| 6f 6e 2d 69 6e 74 65 72 | 6e 61 6c 2d 6c 69 73 74 |on-inter|nal-list|
|00003190| 20 74 20 73 6b 65 6c 65 | 74 6f 6e 2d 69 6e 74 65 | t skele|ton-inte|
|000031a0| 72 6e 61 6c 2d 31 5d 20 | 35 5d 29 0a 23 40 34 39 |rnal-1] |5]).#@49|
|000031b0| 36 20 49 6e 73 65 72 74 | 20 61 20 6c 6f 63 61 6c |6 Insert| a local|
|000031c0| 20 76 61 72 69 61 62 6c | 65 73 20 73 65 63 74 69 | variabl|es secti|
|000031d0| 6f 6e 2e 20 20 55 73 65 | 20 63 75 72 72 65 6e 74 |on. Use| current|
|000031e0| 20 63 6f 6d 6d 65 6e 74 | 20 73 79 6e 74 61 78 20 | comment| syntax |
|000031f0| 69 66 20 61 6e 79 2e 0a | 0a 54 68 69 73 20 69 73 |if any..|.This is|
|00003200| 20 61 20 73 6b 65 6c 65 | 74 6f 6e 20 63 6f 6d 6d | a skele|ton comm|
|00003210| 61 6e 64 20 28 73 65 65 | 20 60 73 6b 65 6c 65 74 |and (see| `skelet|
|00003220| 6f 6e 2d 69 6e 73 65 72 | 74 27 29 2e 0a 4e 6f 72 |on-inser|t')..Nor|
|00003230| 6d 61 6c 6c 79 20 74 68 | 65 20 73 6b 65 6c 65 74 |mally th|e skelet|
|00003240| 6f 6e 20 74 65 78 74 20 | 69 73 20 69 6e 73 65 72 |on text |is inser|
|00003250| 74 65 64 20 61 74 20 70 | 6f 69 6e 74 2c 20 77 69 |ted at p|oint, wi|
|00003260| 74 68 20 6e 6f 74 68 69 | 6e 67 20 22 69 6e 73 69 |th nothi|ng "insi|
|00003270| 64 65 22 2e 0a 49 66 20 | 74 68 65 72 65 20 69 73 |de"..If |there is|
|00003280| 20 61 20 68 69 67 68 6c | 69 67 68 74 65 64 20 72 | a highl|ighted r|
|00003290| 65 67 69 6f 6e 2c 20 74 | 68 65 20 73 6b 65 6c 65 |egion, t|he skele|
|000032a0| 74 6f 6e 20 74 65 78 74 | 20 69 73 20 77 72 61 70 |ton text| is wrap|
|000032b0| 70 65 64 0a 61 72 6f 75 | 6e 64 20 74 68 65 20 72 |ped.arou|nd the r|
|000032c0| 65 67 69 6f 6e 20 74 65 | 78 74 2e 0a 0a 41 20 70 |egion te|xt...A p|
|000032d0| 72 65 66 69 78 20 61 72 | 67 75 6d 65 6e 74 20 41 |refix ar|gument A|
|000032e0| 52 47 20 73 61 79 73 20 | 74 6f 20 77 72 61 70 20 |RG says |to wrap |
|000032f0| 74 68 65 20 73 6b 65 6c | 65 74 6f 6e 20 61 72 6f |the skel|eton aro|
|00003300| 75 6e 64 20 74 68 65 20 | 6e 65 78 74 20 41 52 47 |und the |next ARG|
|00003310| 20 77 6f 72 64 73 2e 0a | 41 20 70 72 65 66 69 78 | words..|A prefix|
|00003320| 20 61 72 67 75 6d 65 6e | 74 20 6f 66 20 7a 65 72 | argumen|t of zer|
|00003330| 6f 20 73 61 79 73 20 74 | 6f 20 77 72 61 70 20 61 |o says t|o wrap a|
|00003340| 72 6f 75 6e 64 20 7a 65 | 72 6f 20 77 6f 72 64 73 |round ze|ro words|
|00003350| 2d 2d 2d 74 68 61 74 20 | 69 73 2c 20 6e 6f 74 68 |---that |is, noth|
|00003360| 69 6e 67 2e 0a 54 68 69 | 73 20 69 73 20 61 20 77 |ing..Thi|s is a w|
|00003370| 61 79 20 6f 66 20 6f 76 | 65 72 69 64 69 6e 67 20 |ay of ov|eriding |
|00003380| 74 68 65 20 75 73 65 20 | 6f 66 20 61 20 68 69 67 |the use |of a hig|
|00003390| 68 6c 69 67 68 74 65 64 | 20 72 65 67 69 6f 6e 2e |hlighted| region.|
|000033a0| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 6c 6f 63 |..(defal|ias 'loc|
|000033b0| 61 6c 2d 76 61 72 69 61 | 62 6c 65 73 2d 73 65 63 |al-varia|bles-sec|
|000033c0| 74 69 6f 6e 20 23 5b 28 | 26 6f 70 74 69 6f 6e 61 |tion #[(|&optiona|
|000033d0| 6c 20 73 74 72 20 61 72 | 67 29 20 22 c0 c1 5c 6e |l str ar|g) "..\n|
|000033e0| 0b 23 87 22 20 5b 73 6b | 65 6c 65 74 6f 6e 2d 70 |.#." [sk|eleton-p|
|000033f0| 72 6f 78 79 2d 6e 65 77 | 20 28 28 63 6f 6d 70 6c |roxy-new| ((compl|
|00003400| 65 74 69 6e 67 2d 72 65 | 61 64 20 22 4d 6f 64 65 |eting-re|ad "Mode|
|00003410| 3a 20 22 20 6f 62 61 72 | 72 61 79 20 28 6c 61 6d |: " obar|ray (lam|
|00003420| 62 64 61 20 28 73 79 6d | 62 6f 6c 29 20 28 69 66 |bda (sym|bol) (if|
|00003430| 20 28 63 6f 6d 6d 61 6e | 64 70 20 73 79 6d 62 6f | (comman|dp symbo|
|00003440| 6c 29 20 28 73 74 72 69 | 6e 67 2d 6d 61 74 63 68 |l) (stri|ng-match|
|00003450| 20 22 2d 6d 6f 64 65 24 | 22 20 28 73 79 6d 62 6f | "-mode$|" (symbo|
|00003460| 6c 2d 6e 61 6d 65 20 73 | 79 6d 62 6f 6c 29 29 29 |l-name s|ymbol)))|
|00003470| 29 20 74 29 20 27 28 73 | 61 76 65 2d 65 78 63 75 |) t) '(s|ave-excu|
|00003480| 72 73 69 6f 6e 20 28 69 | 66 20 28 72 65 2d 73 65 |rsion (i|f (re-se|
|00003490| 61 72 63 68 2d 66 6f 72 | 77 61 72 64 20 70 61 67 |arch-for|ward pag|
|000034a0| 65 2d 64 65 6c 69 6d 69 | 74 65 72 20 6e 69 6c 20 |e-delimi|ter nil |
|000034b0| 74 29 20 28 65 72 72 6f | 72 20 22 4e 6f 74 20 6f |t) (erro|r "Not o|
|000034c0| 6e 20 6c 61 73 74 20 70 | 61 67 65 2e 22 29 29 29 |n last p|age.")))|
|000034d0| 20 63 6f 6d 6d 65 6e 74 | 2d 73 74 61 72 74 20 22 | comment|-start "|
|000034e0| 4c 6f 63 61 6c 20 56 61 | 72 69 61 62 6c 65 73 3a |Local Va|riables:|
|000034f0| 22 20 63 6f 6d 6d 65 6e | 74 2d 65 6e 64 20 6e 20 |" commen|t-end n |
|00003500| 63 6f 6d 6d 65 6e 74 2d | 73 74 61 72 74 20 22 6d |comment-|start "m|
|00003510| 6f 64 65 3a 20 22 20 73 | 74 72 20 26 20 2d 35 20 |ode: " s|tr & -5 |
|00003520| 7c 20 27 28 6b 69 6c 6c | 2d 6c 69 6e 65 20 30 29 || '(kill|-line 0)|
|00003530| 20 26 20 2d 31 20 7c 20 | 63 6f 6d 6d 65 6e 74 2d | & -1 | |comment-|
|00003540| 65 6e 64 20 6e 20 28 28 | 63 6f 6d 70 6c 65 74 69 |end n ((|completi|
|00003550| 6e 67 2d 72 65 61 64 20 | 28 66 6f 72 6d 61 74 20 |ng-read |(format |
|00003560| 22 56 61 72 69 61 62 6c | 65 2c 20 25 73 3a 20 22 |"Variabl|e, %s: "|
|00003570| 20 73 6b 65 6c 65 74 6f | 6e 2d 73 75 62 70 72 6f | skeleto|n-subpro|
|00003580| 6d 70 74 29 20 6f 62 61 | 72 72 61 79 20 28 6c 61 |mpt) oba|rray (la|
|00003590| 6d 62 64 61 20 28 73 79 | 6d 62 6f 6c 29 20 28 6f |mbda (sy|mbol) (o|
|000035a0| 72 20 28 65 71 20 73 79 | 6d 62 6f 6c 20 27 65 76 |r (eq sy|mbol 'ev|
|000035b0| 61 6c 29 20 28 75 73 65 | 72 2d 76 61 72 69 61 62 |al) (use|r-variab|
|000035c0| 6c 65 2d 70 20 73 79 6d | 62 6f 6c 29 29 29 20 74 |le-p sym|bol))) t|
|000035d0| 29 20 63 6f 6d 6d 65 6e | 74 2d 73 74 61 72 74 20 |) commen|t-start |
|000035e0| 73 74 72 20 22 3a 20 22 | 20 28 72 65 61 64 2d 66 |str ": "| (read-f|
|000035f0| 72 6f 6d 2d 6d 69 6e 69 | 62 75 66 66 65 72 20 22 |rom-mini|buffer "|
|00003600| 45 78 70 72 65 73 73 69 | 6f 6e 3a 20 22 20 6e 69 |Expressi|on: " ni|
|00003610| 6c 20 72 65 61 64 2d 65 | 78 70 72 65 73 73 69 6f |l read-e|xpressio|
|00003620| 6e 2d 6d 61 70 20 6e 69 | 6c 20 27 72 65 61 64 2d |n-map ni|l 'read-|
|00003630| 65 78 70 72 65 73 73 69 | 6f 6e 2d 68 69 73 74 6f |expressi|on-histo|
|00003640| 72 79 29 20 7c 20 5f 20 | 63 6f 6d 6d 65 6e 74 2d |ry) | _ |comment-|
|00003650| 65 6e 64 20 6e 29 20 72 | 65 73 75 6d 65 3a 20 63 |end n) r|esume: c|
|00003660| 6f 6d 6d 65 6e 74 2d 73 | 74 61 72 74 20 22 45 6e |omment-s|tart "En|
|00003670| 64 3a 22 20 63 6f 6d 6d | 65 6e 74 2d 65 6e 64 20 |d:" comm|ent-end |
|00003680| 6e 29 20 73 74 72 20 61 | 72 67 5d 20 34 20 28 23 |n) str a|rg] 4 (#|
|00003690| 24 20 2e 20 31 32 37 32 | 32 29 20 22 2a 50 5c 6e |$ . 1272|2) "*P\n|
|000036a0| 50 22 5d 29 0a 23 40 31 | 38 34 20 2a 49 66 20 74 |P"]).#@1|84 *If t|
|000036b0| 68 69 73 20 69 73 20 6e | 69 6c 20 70 61 69 72 69 |his is n|il pairi|
|000036c0| 6e 67 20 69 73 20 74 75 | 72 6e 65 64 20 6f 66 66 |ng is tu|rned off|
|000036d0| 2c 20 6e 6f 20 6d 61 74 | 74 65 72 20 77 68 61 74 |, no mat|ter what|
|000036e0| 20 65 6c 73 65 20 69 73 | 20 73 65 74 2e 0a 4f 74 | else is| set..Ot|
|000036f0| 68 65 72 77 69 73 65 20 | 6d 6f 64 65 73 20 77 69 |herwise |modes wi|
|00003700| 74 68 20 60 73 6b 65 6c | 65 74 6f 6e 2d 70 61 69 |th `skel|eton-pai|
|00003710| 72 2d 69 6e 73 65 72 74 | 2d 6d 61 79 62 65 27 20 |r-insert|-maybe' |
|00003720| 6f 6e 20 73 6f 6d 65 20 | 6b 65 79 73 0a 77 69 6c |on some |keys.wil|
|00003730| 6c 20 61 74 74 65 6d 70 | 74 20 74 6f 20 69 6e 73 |l attemp|t to ins|
|00003740| 65 72 74 20 70 61 69 72 | 73 20 6f 66 20 6d 61 74 |ert pair|s of mat|
|00003750| 63 68 69 6e 67 20 63 68 | 61 72 61 63 74 65 72 73 |ching ch|aracters|
|00003760| 2e 1f 0a 28 64 65 66 76 | 61 72 20 73 6b 65 6c 65 |...(defv|ar skele|
|00003770| 74 6f 6e 2d 70 61 69 72 | 20 6e 69 6c 20 28 23 24 |ton-pair| nil (#$|
|00003780| 20 2e 20 2d 31 33 39 39 | 35 29 29 0a 23 40 37 33 | . -1399|5)).#@73|
|00003790| 20 2a 49 66 20 74 68 69 | 73 20 69 73 20 6e 69 6c | *If thi|s is nil|
|000037a0| 2c 20 70 61 69 72 65 64 | 20 69 6e 73 65 72 74 69 |, paired| inserti|
|000037b0| 6f 6e 20 69 73 20 69 6e | 68 69 62 69 74 65 64 20 |on is in|hibited |
|000037c0| 62 65 66 6f 72 65 20 6f | 72 20 69 6e 73 69 64 65 |before o|r inside|
|000037d0| 20 61 20 77 6f 72 64 2e | 1f 0a 28 64 65 66 76 61 | a word.|..(defva|
|000037e0| 72 20 73 6b 65 6c 65 74 | 6f 6e 2d 70 61 69 72 2d |r skelet|on-pair-|
|000037f0| 6f 6e 2d 77 6f 72 64 20 | 6e 69 6c 20 28 23 24 20 |on-word |nil (#$ |
|00003800| 2e 20 2d 31 34 32 32 35 | 29 29 0a 23 40 31 34 39 |. -14225|)).#@149|
|00003810| 20 41 74 74 65 6d 70 74 | 20 70 61 69 72 65 64 20 | Attempt| paired |
|00003820| 69 6e 73 65 72 74 69 6f | 6e 20 69 66 20 74 68 69 |insertio|n if thi|
|00003830| 73 20 66 75 6e 63 74 69 | 6f 6e 20 72 65 74 75 72 |s functi|on retur|
|00003840| 6e 73 20 6e 69 6c 2c 20 | 62 65 66 6f 72 65 20 69 |ns nil, |before i|
|00003850| 6e 73 65 72 74 69 6e 67 | 2e 0a 54 68 69 73 20 61 |nserting|..This a|
|00003860| 6c 6c 6f 77 73 20 66 6f | 72 20 63 6f 6e 74 65 78 |llows fo|r contex|
|00003870| 74 2d 73 65 6e 73 69 74 | 69 76 65 20 63 68 65 63 |t-sensit|ive chec|
|00003880| 6b 69 6e 67 20 77 68 65 | 74 68 65 72 20 70 61 69 |king whe|ther pai|
|00003890| 72 69 6e 67 20 69 73 20 | 61 70 70 72 6f 70 72 69 |ring is |appropri|
|000038a0| 61 74 65 2e 1f 0a 28 64 | 65 66 76 61 72 20 73 6b |ate...(d|efvar sk|
|000038b0| 65 6c 65 74 6f 6e 2d 70 | 61 69 72 2d 66 69 6c 74 |eleton-p|air-filt|
|000038c0| 65 72 20 23 5b 6e 69 6c | 20 22 c0 87 22 20 5b 6e |er #[nil| ".." [n|
|000038d0| 69 6c 5d 20 31 5d 20 28 | 23 24 20 2e 20 31 34 33 |il] 1] (|#$ . 143|
|000038e0| 35 33 29 29 0a 23 40 32 | 38 34 20 41 6e 20 6f 76 |53)).#@2|84 An ov|
|000038f0| 65 72 72 69 64 65 20 61 | 6c 69 73 74 20 6f 66 20 |erride a|list of |
|00003900| 70 61 69 72 69 6e 67 20 | 70 61 72 74 6e 65 72 73 |pairing |partners|
|00003910| 20 6d 61 74 63 68 65 64 | 20 61 67 61 69 6e 73 74 | matched| against|
|00003920| 20 60 6c 61 73 74 2d 63 | 6f 6d 6d 61 6e 64 2d 63 | `last-c|ommand-c|
|00003930| 68 61 72 27 2e 0a 45 61 | 63 68 20 61 6c 69 73 74 |har'..Ea|ch alist|
|00003940| 20 65 6c 65 6d 65 6e 74 | 2c 20 77 68 69 63 68 20 | element|, which |
|00003950| 6c 6f 6f 6b 73 20 6c 69 | 6b 65 20 28 45 4c 45 4d |looks li|ke (ELEM|
|00003960| 45 4e 54 20 2e 2e 2e 29 | 2c 20 69 73 20 70 61 73 |ENT ...)|, is pas|
|00003970| 73 65 64 20 74 6f 0a 60 | 73 6b 65 6c 65 74 6f 6e |sed to.`|skeleton|
|00003980| 2d 69 6e 73 65 72 74 27 | 20 77 69 74 68 20 6e 6f |-insert'| with no|
|00003990| 20 69 6e 74 65 72 61 63 | 74 6f 72 2e 20 20 56 61 | interac|tor. Va|
|000039a0| 72 69 61 62 6c 65 20 60 | 73 74 72 27 20 64 6f 65 |riable `|str' doe|
|000039b0| 73 20 6e 6f 74 68 69 6e | 67 2e 0a 0a 45 6c 65 6d |s nothin|g...Elem|
|000039c0| 65 6e 74 73 20 6d 69 67 | 68 74 20 62 65 20 28 3f |ents mig|ht be (?|
|000039d0| 60 20 3f 60 20 5f 20 22 | 27 27 22 29 2c 20 28 3f |` ?` _ "|''"), (?|
|000039e0| 5c 28 20 3f 20 20 5f 20 | 22 20 29 22 29 20 6f 72 |\( ? _ |" )") or|
|000039f0| 20 28 3f 7b 20 5c 6e 20 | 3e 20 5f 20 5c 6e 20 3f | (?{ \n |> _ \n ?|
|00003a00| 7d 20 3e 29 2e 1f 0a 28 | 64 65 66 76 61 72 20 73 |} >)...(|defvar s|
|00003a10| 6b 65 6c 65 74 6f 6e 2d | 70 61 69 72 2d 61 6c 69 |keleton-|pair-ali|
|00003a20| 73 74 20 6e 69 6c 20 28 | 23 24 20 2e 20 31 34 35 |st nil (|#$ . 145|
|00003a30| 37 31 29 29 0a 23 40 35 | 34 31 20 49 6e 73 65 72 |71)).#@5|41 Inser|
|00003a40| 74 20 74 68 65 20 63 68 | 61 72 61 63 74 65 72 20 |t the ch|aracter |
|00003a50| 79 6f 75 20 74 79 70 65 | 20 41 52 47 20 74 69 6d |you type| ARG tim|
|00003a60| 65 73 2e 0a 0a 57 69 74 | 68 20 6e 6f 20 41 52 47 |es...Wit|h no ARG|
|00003a70| 2c 20 69 66 20 60 73 6b | 65 6c 65 74 6f 6e 2d 70 |, if `sk|eleton-p|
|00003a80| 61 69 72 27 20 69 73 20 | 6e 6f 6e 2d 6e 69 6c 2c |air' is |non-nil,|
|00003a90| 20 70 61 69 72 69 6e 67 | 20 63 61 6e 20 6f 63 63 | pairing| can occ|
|00003aa0| 75 72 2e 20 20 49 66 20 | 74 68 65 20 72 65 67 69 |ur. If |the regi|
|00003ab0| 6f 6e 0a 69 73 20 76 69 | 73 69 62 6c 65 20 74 68 |on.is vi|sible th|
|00003ac0| 65 20 70 61 69 72 20 69 | 73 20 77 72 61 70 70 65 |e pair i|s wrappe|
|00003ad0| 64 20 61 72 6f 75 6e 64 | 20 69 74 20 64 65 70 65 |d around| it depe|
|00003ae0| 6e 64 69 6e 67 20 6f 6e | 20 60 73 6b 65 6c 65 74 |nding on| `skelet|
|00003af0| 6f 6e 2d 61 75 74 6f 77 | 72 61 70 27 2e 0a 45 6c |on-autow|rap'..El|
|00003b00| 73 65 2c 20 69 66 20 60 | 73 6b 65 6c 65 74 6f 6e |se, if `|skeleton|
|00003b10| 2d 70 61 69 72 2d 6f 6e | 2d 77 6f 72 64 27 20 69 |-pair-on|-word' i|
|00003b20| 73 20 6e 6f 6e 2d 6e 69 | 6c 20 6f 72 20 77 65 20 |s non-ni|l or we |
|00003b30| 61 72 65 20 6e 6f 74 20 | 62 65 66 6f 72 65 20 6f |are not |before o|
|00003b40| 72 20 69 6e 73 69 64 65 | 20 61 0a 77 6f 72 64 2c |r inside| a.word,|
|00003b50| 20 61 6e 64 20 69 66 20 | 60 73 6b 65 6c 65 74 6f | and if |`skeleto|
|00003b60| 6e 2d 70 61 69 72 2d 66 | 69 6c 74 65 72 27 20 72 |n-pair-f|ilter' r|
|00003b70| 65 74 75 72 6e 73 20 6e | 69 6c 2c 20 70 61 69 72 |eturns n|il, pair|
|00003b80| 69 6e 67 20 69 73 20 70 | 65 72 66 6f 72 6d 65 64 |ing is p|erformed|
|00003b90| 2e 0a 0a 49 66 20 61 20 | 6d 61 74 63 68 20 69 73 |...If a |match is|
|00003ba0| 20 66 6f 75 6e 64 20 69 | 6e 20 60 73 6b 65 6c 65 | found i|n `skele|
|00003bb0| 74 6f 6e 2d 70 61 69 72 | 2d 61 6c 69 73 74 27 2c |ton-pair|-alist',|
|00003bc0| 20 74 68 61 74 20 69 73 | 20 69 6e 73 65 72 74 65 | that is| inserte|
|00003bd0| 64 2c 20 65 6c 73 65 0a | 74 68 65 20 64 65 66 61 |d, else.|the defa|
|00003be0| 75 6c 74 73 20 61 72 65 | 20 75 73 65 64 2e 20 20 |ults are| used. |
|00003bf0| 54 68 65 73 65 20 61 72 | 65 20 28 29 2c 20 5b 5d |These ar|e (), []|
|00003c00| 2c 20 7b 7d 2c 20 3c 3e | 20 61 6e 64 20 60 27 20 |, {}, <>| and `' |
|00003c10| 66 6f 72 20 74 68 65 0a | 73 79 6d 6d 65 74 72 69 |for the.|symmetri|
|00003c20| 63 61 6c 20 6f 6e 65 73 | 2c 20 61 6e 64 20 74 68 |cal ones|, and th|
|00003c30| 65 20 73 61 6d 65 20 63 | 68 61 72 61 63 74 65 72 |e same c|haracter|
|00003c40| 20 74 77 69 63 65 20 66 | 6f 72 20 74 68 65 20 6f | twice f|or the o|
|00003c50| 74 68 65 72 73 2e 1f 0a | 28 64 65 66 61 6c 69 61 |thers...|(defalia|
|00003c60| 73 20 27 73 6b 65 6c 65 | 74 6f 6e 2d 70 61 69 72 |s 'skele|ton-pair|
|00003c70| 2d 69 6e 73 65 72 74 2d | 6d 61 79 62 65 20 23 5b |-insert-|maybe #[|
|00003c80| 28 61 72 67 29 20 22 08 | ad 93 09 c2 61 ae 8e c3 |(arg) ".|....a...|
|00003c90| c4 21 ad 89 c3 c5 21 ad | 84 0c ad 81 0d c6 1e 07 |.!....!.|........|
|00003ca0| 1e 08 0e 09 ac 9a 0e 5c | 6e ab 96 0e 08 ac 9a 0e |.......\|n.......|
|00003cb0| 0b ac 8e 0e 0c ac 85 cd | ce 21 ac 85 0e 0f 20 ab |........|.!.... .|
|00003cc0| 88 d0 d1 0e 09 21 21 aa | a7 d2 0e 13 d4 5c 22 16 |.....!!.|.....\".|
|00003cd0| 13 0e 15 ae 9c d6 c6 0e | 13 0e 17 b7 ae 8c 0e 13 |........|........|
|00003ce0| d8 b7 ae 86 0e 13 d9 0e | 13 45 42 0e 08 ad 81 da |........|.EB.....|
|00003cf0| 5c 22 2a 87 22 20 5b 73 | 6b 65 6c 65 74 6f 6e 2d |\"*." [s|keleton-|
|00003d00| 61 75 74 6f 77 72 61 70 | 20 6c 61 73 74 2d 63 6f |autowrap| last-co|
|00003d10| 6d 6d 61 6e 64 20 6d 6f | 75 73 65 2d 64 72 61 67 |mmand mo|use-drag|
|00003d20| 2d 72 65 67 69 6f 6e 20 | 62 6f 75 6e 64 70 20 74 |-region |boundp t|
|00003d30| 72 61 6e 73 69 65 6e 74 | 2d 6d 61 72 6b 2d 6d 6f |ransient|-mark-mo|
|00003d40| 64 65 20 6d 61 72 6b 2d | 61 63 74 69 76 65 20 6e |de mark-|active n|
|00003d50| 69 6c 20 73 6b 65 6c 65 | 74 6f 6e 2d 65 6e 64 2d |il skele|ton-end-|
|00003d60| 68 6f 6f 6b 20 6d 61 72 | 6b 20 61 72 67 20 73 6b |hook mar|k arg sk|
|00003d70| 65 6c 65 74 6f 6e 2d 70 | 61 69 72 20 6f 76 65 72 |eleton-p|air over|
|00003d80| 77 72 69 74 65 2d 6d 6f | 64 65 20 73 6b 65 6c 65 |write-mo|de skele|
|00003d90| 74 6f 6e 2d 70 61 69 72 | 2d 6f 6e 2d 77 6f 72 64 |ton-pair|-on-word|
|00003da0| 20 6c 6f 6f 6b 69 6e 67 | 2d 61 74 20 22 5c 5c 77 | looking|-at "\\w|
|00003db0| 22 20 73 6b 65 6c 65 74 | 6f 6e 2d 70 61 69 72 2d |" skelet|on-pair-|
|00003dc0| 66 69 6c 74 65 72 20 73 | 65 6c 66 2d 69 6e 73 65 |filter s|elf-inse|
|00003dd0| 72 74 2d 63 6f 6d 6d 61 | 6e 64 20 70 72 65 66 69 |rt-comma|nd prefi|
|00003de0| 78 2d 6e 75 6d 65 72 69 | 63 2d 76 61 6c 75 65 20 |x-numeri|c-value |
|00003df0| 6c 6f 67 61 6e 64 20 6c | 61 73 74 2d 63 6f 6d 6d |logand l|ast-comm|
|00003e00| 61 6e 64 2d 63 68 61 72 | 20 32 35 35 20 73 6b 65 |and-char| 255 ske|
|00003e10| 6c 65 74 6f 6e 2d 61 62 | 62 72 65 76 2d 63 6c 65 |leton-ab|brev-cle|
|00003e20| 61 6e 75 70 20 73 6b 65 | 6c 65 74 6f 6e 2d 69 6e |anup ske|leton-in|
|00003e30| 73 65 72 74 20 73 6b 65 | 6c 65 74 6f 6e 2d 70 61 |sert ske|leton-pa|
|00003e40| 69 72 2d 61 6c 69 73 74 | 20 28 28 3f 5c 28 20 5f |ir-alist| ((?\( _|
|00003e50| 20 3f 5c 29 29 20 28 3f | 5c 5b 20 5f 20 3f 5c 5d | ?\)) (?|\[ _ ?\]|
|00003e60| 29 20 28 3f 5c 7b 20 5f | 20 3f 5c 7d 29 20 28 3f |) (?\{ _| ?\}) (?|
|00003e70| 5c 3c 20 5f 20 3f 5c 3e | 29 20 28 3f 5c 60 20 5f |\< _ ?\>|) (?\` _|
|00003e80| 20 3f 5c 27 29 29 20 5f | 20 2d 31 5d 20 35 20 28 | ?\')) _| -1] 5 (|
|00003e90| 23 24 20 2e 20 31 34 39 | 30 37 29 20 22 2a 50 22 |#$ . 149|07) "*P"|
|00003ea0| 5d 29 0a 28 70 72 6f 76 | 69 64 65 20 27 73 6b 65 |]).(prov|ide 'ske|
|00003eb0| 6c 65 74 6f 6e 29 0a | |leton). | |
+--------+-------------------------+-------------------------+--------+--------+